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.
近期下载者:
相关文件:
收藏者: