您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 电子商务 > ECC椭圆曲线加密算法在软件认证中的应用
太原理工大学硕士学位论文ECC椭圆曲线加密算法在软件认证中的应用姓名:张鹏申请学位级别:硕士专业:通信与信息系统指导教师:廖述剑20100401IECCECCECCRSApF2mFpF23yxaxb=++c++microsoftvisualc++6.0ECCECCIIECCIIIAPPLICATIONOFELLIPTICCURVEALGORITHMS’SINSOFTWARECERTIFICATIONABSTRACTSoftwareisatechnology-intensedigitalproduct.Althoughthedevelopmentofsoftwareneedstodevotemassiveresourcesofbothmanpowerandmaterials,itistooeasytobecopied.Accordingly,theprotectiontothecopyrightofsoftwarehasalwaysbeenatroublesomeproblem.Theprotectionmethodswidelyusedincludeserialnumber,licenseetc.Ifthecosttocrackthesoftwareexceedsthattobuy,theeffectoftheprotectionisachievedinfact.ThesecurityofEllipticCurveCryptographyECCisbasedonthedifficultyofellipticcurvediscretelogarithmproblem.AndECCprovidesthehighestsafeprotectionperbitofanycryptosystemknownsofar.Comparedwithotherasymmetricencodingalgorithmsystem,ECCalsohasmanyotheradvantagessuchaslowercomputationload,shorterkeysize,andconsiderablebandwidthsavings.Therefore,ECCisconsideredasthebestgeneralpublic-keyencryptionsystemofnextgeneration.ComparisontoRSA,ECChasmanygoodpoints,forexample,alittleoccupiedbandwidthandhasmanyparameterstochoosinginprimefieldandlimitedfield,manyresearchfruitsabouteclipticencryptionalgorithmintheencryptionanddecryptionfieldhavebeenpublishedaroundtheseyears.ThepresentresearchfocusesconcentrateonclassicmathematicalmodelinprimefieldpFandlimitedfield2mF.Theauthorwillexplainthemathematictheoryofeclipticencryptionalgorithmfirst,followedbyanemulationprogram,basedonIVtheclassiceclipticencryptionalgorithm23yxaxb=++todemonstratetheeffectivenessofECC.Fromtheprocedures,wecanknowthattheonlysamesetofparametersencryptanddecryptthelicensecangetthecorrectresult.Theexample,programmedinC++,isaexecutableprogramofprotectionalicense(includingcharacter)throughECCencryptionfunction.KEYWORDSdatesecurityellipticcurveellipticcurvecryptosystem(ECC)registercode::;;;()11.119461969ARPAnetinternetInternetIntranetITITITITITITIT2LicenseLicensetcpudp1.2E-MailLicense=ULicenseUU=1U−LicenseUUU1UUser=2ULicense32U[21]LicenseFileCloneCDDAEMONTools(Dongle)UsbU304[13]1.3ITKentTRMGosler123GoslerGosler[20]HerzbergPinterCPUCPU1993Cohen1996GoldreichOstrovskySoftwareProtectionandSimulationonOblivious[3]RAMSRAMS[17]Collberg5AucsmithGraunke(SMC)HorneChangAtallahChenHashHashHashHash1999CollbergThomborsonP6QNNPQPQRSA2005MatiasMadou12SMCSelfModifyingCodeFFStub-startStub-stopF71.4ECCMicrosoftVisualC++,231yxx=++ECC82.119185191819452719491076[10]19761976W.DiffieM.E.Hellman[15]DiffieHellmanRSA2.1.1RailroadMethod[13]92.1.2[13]2.1.319491948bell194920701974IBM128Lucifer56DESDateEncryptionStandard1976DESDES10DESDESIDEAAES[19]2.1.419491976W.DiffieM.E.HellmanW.DiffieM.E.HellmanDiffie-HellmanD-H2-111ABaBAbABb2-1D-HFigure2-1D-HKeysystemW.DiffieM.E.Hellman1977MITRonRivestAdiShamirLenAdlemanRSARSARSARSAISO/IECITU-TANSISWIFTPKIElGamalECC[21]2.2DESIDEAAESRSAECC2.2.1(2-2)DES12IDEAAESAA2-2Figure2-2symmetricalkeyencryptionDES1974IBM128Lucifer56DESDataEncryptionStandardDESDES:KeyDataModeKey864,DESKey8Key56Data864;ModeDESDES64646464,3258,502,72-12-1Table2-1InitialReplacement58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157Key566484813162-332S48641664IPIP2-3DESFigure2-3DESAlgorithmFlowGraph16DES64162-22-2Table2-2FinalityReplacement40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725IDEAIDEAJamesL.MasseyIDEADESIDEA12864IDEADES1800IDEAIDEA14AESAESAES:128,192,256AESAESAES128192256128162.2.22-4RSARSAECC[25]ABBAB2-4Figure2-4publickeyencryptionRSAW.DiffieM.E.Hellman1977MITRonRivestAdiShamirLenAdlemanRSARSARSA15RSA1pqn=p*qt=(p-1)*(q-1)2k,ktkt1dk==1modtdndkM(Mn)C=dMCm=KCm==MCndnkkdkRSAnndknkdRSARSARSAxxxa==modxxxa==modxxECCRSA1ECCRSA160ECC1024RSA210ECC2048RSA2ECCRSA3ECCRSAIC464ECCRSA64ECCRSAECC16ECC1985NealKoblitzV.S.Miller19851995121995[9]l2GAB3IC4ECC5ECCRSAIEEEANSIISOIETFATMIEEEP1363P1363aANSIX9.62X9.63ISO/IEC14888172.3183.1C++C++3.1.1(ExhaustiveAttackMethod)(CompleteTrial-and-errorMethod)License19LicenseLicenseLicenseLicense3.1.2W32/16Dasm().netPascalDelphijavaexe.netReflectorDelphidedeJavaXjadexe3.1.3JavaJtestC++C++test20CompuwareNuMegaSoftICEOlehYuschukOllyDBG[10]3.1.43.2CPU3.2.121Java.NETJavaObfuscatorJava[30](CodeObfuscation)Java.NETSMC22SMCWIN32ASM3.2.2[25]INT3INT3INT3INT3INT323INT31.APICreateFileACreateFileA2.SoftICE3.kernel32.dllIsDebuggerPresent()014.RDTSC(ReadTime-StampCounter)I64RDTSC1.INT3242.Windowswindows3.2.3()(StaticSoftwareWatermark)(DynamicSoftwareWatermark)(StaticCodeWatermark)(StaticDataWatermark)25:EasterEgg[23]3.2.4(VMVirtualMachine)web3.3/26IT1980KentinternetFlexlminternetLicenseFlexlmFLEXlmLicense[17]LicenseLicenseSRMPLicenseSoftAgentLicense274.1SRMPSoftRightManagementProtocolLicenseSoftAgentLicense1.SoftAgentPIDPID2.MACSRMPFPFPMAC3.SoftAgentPIDFPLicenseLicense4.SoftAgentLicenseKernelCodeKernelCodeKernelCodeKernelCode5.LicenseSoftAgentLicenseLicenseLicensePIDFPKernelCodeLicense(Kernel'Code)6.SoftAgentLicenseLicensePIDFPKernelCodeLicenseLicenseLicenseLi
本文标题:ECC椭圆曲线加密算法在软件认证中的应用
链接地址:https://www.777doc.com/doc-5904975 .html