miracl

所属分类:Windows编程
开发工具:Visual C++
文件大小:1137KB
下载次数:32
上传日期:2009-02-22 11:42:37
上 传 者hyaswine
说明:  很出名的密码算法库,不知道大家有没有,再就是我没有怎么调通,但是可以参考其中的一些设计。
(a famous crypto library)

文件列表:
miracl\miracl\miracl\arm.txt (4759, 2004-01-05)
miracl\miracl\miracl\borland.txt (1474, 2001-11-06)
miracl\miracl\miracl\config.c (24489, 2003-05-08)
miracl\miracl\miracl\double.txt (2197, 2002-06-25)
miracl\miracl\miracl\first.txt (2570, 2003-12-18)
miracl\miracl\miracl\float.txt (1936, 2003-12-18)
miracl\miracl\miracl\itanium.txt (2621, 2004-01-05)
miracl\miracl\miracl\KCM.TXT (1717, 2000-09-18)
miracl\miracl\miracl\kcmcomba.txt (3946, 2004-01-05)
miracl\miracl\miracl\linux.txt (1286, 2002-11-14)
miracl\miracl\miracl\makemcs.txt (10980, 2004-01-05)
miracl\miracl\miracl\manual.doc (1088512, 2003-11-19)
miracl\miracl\miracl\mex.c (15196, 2003-12-17)
miracl\miracl\miracl\msvisual.txt (2965, 2003-07-24)
miracl\miracl\miracl\problems.txt (4555, 2003-07-24)
miracl\miracl\miracl\sparc.txt (5475, 2004-01-05)
miracl\miracl\miracl\update.txt (8634, 2003-12-18)
miracl\miracl\miracl\exe\deciph.exe (53248, 2002-08-28)
miracl\miracl\miracl\exe\enciph.exe (49152, 2002-08-28)
miracl\miracl\miracl\exe\fact.exe (126976, 2003-12-11)
miracl\miracl\miracl\exe\private.key (260, 2002-02-25)
miracl\miracl\miracl\exe\public.key (258, 2002-02-25)
miracl\miracl\miracl\free\factor.exe (102400, 2004-02-10)
miracl\miracl\miracl\free\ratcalc.exe (109966, 2003-12-22)
miracl\miracl\miracl\free\read.txt (239, 2003-11-13)
miracl\miracl\miracl\include\big.h (11052, 2003-12-09)
miracl\miracl\miracl\include\brick.h (813, 2003-07-24)
miracl\miracl\miracl\include\crt.h (792, 2003-07-24)
miracl\miracl\miracl\include\ebrick.h (986, 2003-07-24)
miracl\miracl\miracl\include\ebrick2.h (1016, 2003-07-24)
miracl\miracl\miracl\include\ec2.h (3197, 2003-07-24)
miracl\miracl\miracl\include\elliptic.h (3338, 2003-12-18)
miracl\miracl\miracl\include\flash.h (5079, 2003-10-15)
miracl\miracl\miracl\include\floating.h (2874, 2004-03-15)
miracl\miracl\miracl\include\gf2m.h (2399, 2003-07-24)
miracl\miracl\miracl\include\miracl.h (27465, 2004-02-09)
miracl\miracl\miracl\include\mirdef.arm (453, 2001-11-06)
miracl\miracl\miracl\include\mirdef.bfp (721, 2001-11-01)
miracl\miracl\miracl\include\mirdef.bpp (453, 2001-11-06)
... ...

IMPORTANT! See UPDATE.DOC for latest changes The distribution media contains the following files README.TXT - This file FIRST.TXT - Read this next MSVISUAL.TXT - Microsoft Visual C++ quick-start instructions BORLAND.TXT - Borland C quick-start instructions ARM.TXT - ARM processor advice SPARC.TXT - SPARC processor advise ITANIUM.TXT - ITANIUM processor advise LINUX.TXT - Some advice for Linux users MANUAL.DOC - The Manual - read it! PROBLEMS.TXT - Known problems with MIRACL UPDATE.TXT - MIRACL Update History KCMCOMBA.TXT - Using super-fast techniques MAKEMCS.TXT - How to create your own .mcs file DOUBLE.TXT - Using a double underlying type FLOAT.TXT - Multiprecision floating-point CONFIG.C - Program to automatically generate a mirdef.h file MEX.C - Program to insert fast macros into mrcomba.c/mrkcm.c In the subdirectory SOURCE MRMULDV.ANY - Contains assembly language versions of muldiv,muldvm, muldvd and muldvd2 MRMULDV.S - Version of the above for Linux i386 GCC MRMULDV.C - Version of the above for Win32 MRMULDV.CCC - Standard C version MRMULDV.GPP - Version of the above for DJGPP GCC MR*.C - MIRACL library source files MRCOMBA.TPL - Template file for fast Comba method MRKCM.TPL - Template file for fast KCM method C.MCS - C macros for use with above C1.MCS - Alternate C macros MS86.MCS - Microsoft/Borland 80*86/Pentium macros for use with above GCC386.MCS - GCC compiler compatible Pentium macros ARM.MCS - ARM processor macros SPARC32.MCS - 32-bit Sparc processor macros SPARC***.MCS - ***-bit Sparc processor macros ITANIUM.MCS - ***-bit Itanium processor macros BMARK.C - Benchmark program for Public Key methods IMRATIO.C - Benchmark program. Calculates S/M, I/M and J/M ratios MERSENNE.C - Mersenne primes FACT.C - Factorials BRUTE.C - Brute-force factorisation BRENT.C - Brent-pollard factoring BRENT_MT.C - Example of generic Multi-Threading HAIL.C - Hailstone numbers PALIN.C - Palindromic numbers GENKEY.C - Generate Public and Private keys ENCODE.C - Encode using RSA method DECODE.C - Decode using RSA method ENCIPH.C - Encipher using Probabalistic method DECIPH.C - Decipher using Probabalistic method PK-DEMO.C - Demo of RSA/El Gamal/Diffie-Hellman/Elliptic Curve... IDENTITY.C - ID based key exchange program HILBERT.C - Solve special system of equations SAMPLE.C - Example of Flash arithmetic ROOTS.C - Square roots POLLARD.C - Pollard's factoring method WILLIAMS.C - William's factoring method LENSTRA.C - Lenstra's factoring method QSIEVE.C - The Quadratic Sieve RATCALC.C - Rational Scientific Calculator FACTOR.C - Factoring Program source KANGAROO.C - Pollards Lambda method for discrete logs INDEX.C - Pollards rho method for discrete logs GENPRIME.C - Generates prime for above LIMLEE.C - Lim-Lee prime generation DSSETUP.C - Digital Signature Standard setup program DSSGEN.C - Digital Signature Standard key generator program DSSIGN.C - Digital Signature Standard signature program DSSVER.C - Digital Signature Standard verification program ECSGEN.C - DSS (Elliptic Curve GF(p) variation) key generator program ECSIGN.C - DSS (Elliptic Curve GF(p) variation) signature program ECSVER.C - DSS (Elliptic Curve GF(p) variation) verification program ECSGEN2.C - DSS (Elliptic Curve GF(2^m) variation) key generator program ECSIGN2.C - DSS (Elliptic Curve GF(2^m) variation) signature program ECSVER2.C - DSS (Elliptic Curve GF(2^m) variation) verification program BRICK.C - Brickell's method for fast exponentiation EBRICK.C - Same for GF(p) Elliptic Curves EBRICK2.C - Same for GF(2^m) Elliptic Curves BIG.CPP - Big function implementations MONTY.CPP - ZZn function implementations ELLIPTIC.CPP - ECn function implementations EC2.CPP - EC2 function implementations GF2M.CPP - GF(2^m) function implementations CRT.CPP - Crt function implementations FLASH.CPP - Flash function implementations FLOATING.CPP - Float function implementations PAL_ENC.CPP - Paillier Homomorphic Encryption Program PAL_DEC.CPP - Paillier Homomorphic Decryption Program THREADWN.CPP - Example of Windows Multi-threading THREADUX.CPP - Example of Unix Multi-Threading FACT.CPP - Example C++ source (uses BIG.H) HAIL.CPP - " " PALIN.CPP - " " BRUTE.CPP - " " MERSENNE.CPP - " " QSIEVE.CPP - " " GENKEY.CPP - " " ENCODE.CPP - " " DECODE.CPP - " " ENCIPH.CPP - " " DECIPH.CPP - " " PK-DEMO.CPP - " " LIMLEE.CPP - " " DSSETUP.CPP - " " DSSGEN.CPP - " " DSSIGN.CPP - " " DSSVER.CPP - " " KANGAROO.CPP - " " INDEX.CPP - " " GENPRIME.CPP - " " BRICK.CPP - " " EBRICK.CPP - Example C++ source (uses ELLIPTIC.H) ECSGEN.CPP - " " ECSIGN.CPP - " " ECSVER.CPP - " " EBRICK2.CPP - Example C++ source (uses EC2.H) ECSGEN2.CPP - " " ECSIGN2.CPP - " " ECSVER2.CPP - " " POLLARD.CPP - Example C++ source (uses MONTY.H) WILLIAMS.CPP - " " LENSTRA.CPP - " " BRENT.CPP - " " SAMPLE.CPP - Example C++ source (uses FLASH.H) ROOTS.CPP - " " HILBERT.CPP - " " FSAMPLE.CPP - Example C++ source (uses FLOATING.H) Note how readable the C++ versions of the example programs look. In the subdirectory SOURCE/CURVE CM.CPP - Complex Multiplication - creates elliptic curves FCM.CPP - Faster version of above POLY.H - Polynomial Class definition, elements from ZZn POLY.CPP - Polynomial Arithmetic with ZZn coefficients POLY2.H - Polynomial Class definition, elements from GF(2^m) POLY2.CPP - Polynomial Arithmetic with GF(2^m) coefficients FLPOLY.H - Polynomial Class definition, float elements FLPOLY.CPP - Polynomial arithmetic with float coefficients COMPLEX.H - Complex Float class definition COMPLEX.CPP - Complex Float class arithmetic CM.TXT - How to build the CM application POLYMOD.H - Polynomials mod a Polynomial - Class Definition POLYMOD.CPP - ZZn Polynomial arithmetic wrt a Polynomial Modulus POLY2MOD.H - Polynomials mod a Polynomial - Class Definition POLY2MOD.CPP - GF(2^m) Polynomial arithmetic wrt a Polynomial Modulus TRANS.CPP - A simple utility to convert elliptic curve to Weierstrass SCHOOF.CPP - Schoof's method for counting points on a GF(p) elliptic curve SCHOOF2.CPP - Schoof's method for counting points on a GF(2^m) elliptic curve SCHOOF.TXT - How to build the schoof Application SCHOOF2.TXT - How to build the schoof2 Application PS_BIG.H - Power series with Big coefficients - Class Definition PS_BIG.CPP - Power Series Arithmetic PS_ZZN.H - Power series with ZZN coefficients - Class Definition PS_ZZN.CPP - Power Series Arithmetic POLYXY.H - Bivariate Polynomials - Class Definition POLYXY.CPP - Bivariate Polynomilas - Implementation MUELLER.CPP - Program to generate Modular Polynomials PROCESS.CPP - Program to process Modular Polynomials wrt a prime modulus SEA.CPP - Schoof-Elkies-Atkin-Mueller algorithm SEA.TXT - How to build the MUELLER/PROCESS/SEA applications In the subdirectory SOURCE\P1363 P1363.H - P1363 Header File P1363.C - P1363 implementation file TEST1363.c - test driver for P1363 implementation In the subdirectory SOURCE\IBE IBE.TXT - Read this first IBE_SET.CPP - Create IBE paramters, and master key IBE_EXT.CPP - Extract a private key from the Identity IBE_ENC.CPP - Encrypt a file using identity IBE_DEC.CPP - Decrypt a file using the private key IBE_DECP.CPP - Decrypt using precomputation IBE_DECB.CPP - Decrypt using batching IBE_ENCP.CPP - Demonstrate Encryption using precomputation ECN2.H - Elliptic curves over Fp2 - Header file ECN2.CPP - Elliptic curves over Fp2 - Implementation file ZZN2.H - Fp2 arithmetic - Header file ZZN2.CPP - Fp2 arithmetic - Implementation file ECN6.H/.CPP - Elliptic curves over Fp6 - Experimental! ZZN6.H/.CPP - Fp6 arithmetic - Experimental! ZZN6.DAT - Precomputed data need for above MNT.CPP - Program to generate MNT elliptic curves - Experimental! MNT.ECS - Non-supersingular curve, k=6, created by CM from MNT output IRRED.CPP - Finds irreducible polynomial - Experimental! AKE6.CPP - Authenticated Key Exchange, k=6 - Experimental! AKE2.CPP - Same as above, but ZZn2 based K2.CPP - Non-supersingular curve, k=2 In the subdirectory INCLUDE MIRDEF.H16 - Standard hardware specific header file for 16-bit computer MIRDEF.H32 - Header file for full 32-bit Computer MIRDEF.H - Same as above MIRDEF.HPC - Header file for pseudo-32 bit computer MIRDEF.HAF - Header file for 16 bit use of 32 bit computer MIRDEF.HIO - Integer-Only 32-bit header file MIRACL.H - Main MIRACL header BIG.H - C++ header for 'big' numbers FLASH.H - C++ header for 'flash' numbers FLOATING.H - C++ header for 'float' numbers MONTY.H - C++ header for 'big' numbers mod n CRT.H - C++ header for chinese remainder thereom ELLIPTIC.H - C++ header for GF(p) Elliptic Curves EC2.H - C++ header for GF(2^m) Elliptic Curves GF2M.H - C++ header for GF(2^m) BRICK.H - C++ header for Brickell's method EBRICK.H - C++ header for Brickell's method (Elliptic Curve GF(p) version) EBRICK2.H - C++ header for Brickell's method (Elliptic Curve GF(2^m) version) In the subdirectory LIB *DOIT.BAT - Batch files for constructing libraries and sample progs. MIRACL.MAK - John Kennedy's UNIX make file BC32.LIB - Borland C++ V5.5 32 bit flat memory model MIRACL library MS32.LIB - Microsoft C 32 bit MIRACL library (for Win95/WinNT) MIRACL.A - DJGPP GNU C MIRACL Library If using 16-bit Borland C++ V5.5 then use BCLDOIT.BAT to build MIRACL.LIB Then copy MIRDEF.H16 to MIRDEF.H, and you're in business. Use BCXDOIT.BAT to build a library for use with MIRDEF.HPC, to provide pseudo 32-bit performance from a 16-bit compiler. BC32.LIB is a true 32-bit flat model library for use with MIRDEF.H32. It was compiled with the Borland 32 bit compiler BCC32. Programs generated in this way require a DOS Extender program (e.g. Borland Powerpack for DOS), or Win32, or a Windows '95/***/NT environment. MS32.LIB is for use with the MicroSoft 32 bit compiler and MIRDEF.H32 (for use with Windows95/*** or WinNT). Older versions of these compilers may also work with these precompiled libraries (try it and see). If using another compiler then you must execute an appropriate xxDOIT.BAT file to create the MIRACL library. If a pre-compiled library is not available:- (1) Determine which of mirdef.h32/mirdef.h16/mirdef.haf/mirdef.hpc is suitable for you, and/or compile and run config.c to automatically generate a suitable mirdef.h. (2) If for performance reasons a non-portable version is to be built, select suitable assembly language routines from mrmuldv.any, or write them yourself (send us a copy!). Even better - produce a ,mcs file for the processor and use either the KCM or Comba method. (3) Compile and link together the mr*.c components into an object library. Also assemble and link in the assemble language component from mrmuldv.any (if needed). In the subdirectory EXE some precompiled example programs FACT.EXE - Factorial program ROOTS.EXE - Roots program PK-DEMO.EXE - Public Key Demo program (32-bit) ENCIPH.EXE - Enciphering program DECIPH.EXE - Deciphering program PUBLIC.KEY - Public key for use by enciphering program PRIVATE.KEY - Private key for use by deciphering program SECP160/192/224/521.ecs - Parameter files for some standard elliptic curves In the sub-directory FREE some FREEWARE 32-bit IBM PC Command prompt specific applications. CM.EXE is free as well, but omitted here for space reasons. READ.TXT - Read this first RATCALC.EXE - Rational Calculator FACTOR.EXE - General purpose Factoring Program (80386+ only) For maximum speed this is compiled as a true 32-bit and runs in a 32-bit DOS Window These files (ONLY!!) are FREEWARE, and may be freely copied and distributed, unmodified. Copyright remains with Shamus Software.

近期下载者

相关文件


收藏者