elliptic curve
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 157
C++ Elliptic Curve Cryptography library 0.11.1
C++ Elliptic Curve Cryptography library is a C++ library for elliptic curves cryptography. more>>
C++ Elliptic Curve Cryptography library is a C++ library for elliptic curves cryptography.
Libecc is a C++ elliptic curve cryptography library that supports fixed-size keys for maximum speed.
The goal of this project is to become the first free Open Source library providing the means to generate safe elliptic curves, and to provide an important source of information for anyone with general interest in ECC.
Enhancements:
- This version brings the code completely up to date again with the latest of version of the working set (autoconf, compiler, etc.).
- The previous version was almost two years old and didnt even compile anymore.
<<lessLibecc is a C++ elliptic curve cryptography library that supports fixed-size keys for maximum speed.
The goal of this project is to become the first free Open Source library providing the means to generate safe elliptic curves, and to provide an important source of information for anyone with general interest in ECC.
Enhancements:
- This version brings the code completely up to date again with the latest of version of the working set (autoconf, compiler, etc.).
- The previous version was almost two years old and didnt even compile anymore.
Download (1.4MB)
Added: 2006-11-22 License: GPL (GNU General Public License) Price:
1092 downloads
seccure 0.3
seccure toolset implements a selection of asymmetric algorithms based on elliptic curve cryptography (ECC). more>>
seccure toolset implements a selection of asymmetric algorithms based on elliptic curve cryptography (ECC). In particular it offers public key encryption / decryption and signature generation / verification.
ECC schemes offer a much better key size to security ratio than classical systems (RSA, DSA). Keys are short enough to make direct specification of keys on the command line possible (sometimes this is more convenient than the management of PGP-like key rings).
seccure builds on this feature and therefore is the tool of choice whenever lightweight asymmetric cryptography -- independent of key servers, revocation certificates, the Web of Trust or even configuration files -- is required.
Where can I download seccure?
seccure is GPL software. First download seccure from the following link. Then, after having made sure that libgcrypt is properly installed, run make and make install as usual.
How is seccure used?
First we give an example for key generation:
$ seccure-key
Assuming curve p160.
Enter private key: my private key
The public key is: 8W;>i^H0qi|J&$coR5MFpR*Vn
Then we do some public key encryption / decryption:
$ seccure-encrypt -o private.msg 8W;>i^H0qi|J&$coR5MFpR*Vn
Assuming MAC length of 80 bits.
Go ahead and type your message ...
This is a very very secret message!
^D
$ seccure-decrypt -i private.msg
Assuming MAC length of 80 bits.
Assuming curve p160.
Enter private key: my private key
This is a very very secret message!
Integrity check successful, message unforged!
At last we try out the signature generation / verification:
$ seccure-sign
Assuming curve p160.
Enter private key: my private key
Go ahead and type your message ...
This message will be signed
^D
Signature: !JI1%Luh6mu:@)S3wS.go(u1z,b.NhXIUI)/p@$*ONA+)+G}}_
$ seccure-verify 8W;>i^H0qi|J&$coR5MFpR*Vn !JI1%Luh6mu:@)S3wS.go(u1z,b.NhXIUI)/p@$*ONA+)+G}}_
Go ahead and type your message ...
This message will be signed
^D
Signature successfully verified!
Enhancements:
- This release adds signcryption and inline signatures.
<<lessECC schemes offer a much better key size to security ratio than classical systems (RSA, DSA). Keys are short enough to make direct specification of keys on the command line possible (sometimes this is more convenient than the management of PGP-like key rings).
seccure builds on this feature and therefore is the tool of choice whenever lightweight asymmetric cryptography -- independent of key servers, revocation certificates, the Web of Trust or even configuration files -- is required.
Where can I download seccure?
seccure is GPL software. First download seccure from the following link. Then, after having made sure that libgcrypt is properly installed, run make and make install as usual.
How is seccure used?
First we give an example for key generation:
$ seccure-key
Assuming curve p160.
Enter private key: my private key
The public key is: 8W;>i^H0qi|J&$coR5MFpR*Vn
Then we do some public key encryption / decryption:
$ seccure-encrypt -o private.msg 8W;>i^H0qi|J&$coR5MFpR*Vn
Assuming MAC length of 80 bits.
Go ahead and type your message ...
This is a very very secret message!
^D
$ seccure-decrypt -i private.msg
Assuming MAC length of 80 bits.
Assuming curve p160.
Enter private key: my private key
This is a very very secret message!
Integrity check successful, message unforged!
At last we try out the signature generation / verification:
$ seccure-sign
Assuming curve p160.
Enter private key: my private key
Go ahead and type your message ...
This message will be signed
^D
Signature: !JI1%Luh6mu:@)S3wS.go(u1z,b.NhXIUI)/p@$*ONA+)+G}}_
$ seccure-verify 8W;>i^H0qi|J&$coR5MFpR*Vn !JI1%Luh6mu:@)S3wS.go(u1z,b.NhXIUI)/p@$*ONA+)+G}}_
Go ahead and type your message ...
This message will be signed
^D
Signature successfully verified!
Enhancements:
- This release adds signcryption and inline signatures.
Download (0.025MB)
Added: 2006-08-17 License: GPL (GNU General Public License) Price:
1164 downloads
Algorithm::CurveFit 1.03
Algorithm::CurveFit - Nonlinear Least Squares Fitting. more>>
Algorithm::CurveFit - Nonlinear Least Squares Fitting.
SYNOPSIS
use Algorithm::CurveFit;
# Known form of the formula
my $formula = c + a * x^2;
my $variable = x;
my @xdata = read_file(xdata); # The data corresponsing to $variable
my @ydata = read_file(ydata); # The data on the other axis
my @parameters = (
# Name Guess Accuracy
[a, 0.9, 0.00001], # If an iteration introduces smaller
[c, 20, 0.00005], # changes that the accuracy, end.
);
my $max_iter = 100; # maximum iterations
my $square_residual = Algorithm::CurveFit->curve_fit(
formula => $formula, # may be a Math::Symbolic tree instead
params => @parameters,
variable => $variable,
xdata => @xdata,
ydata => @ydata,
maximum_iterations => $max_iter,
);
use Data::Dumper;
print Dumper @parameters;
# Prints
# $VAR1 = [
# [
# a,
# 0.201366784209602,
# 1e-05
# ],
# [
# c,
# 1.94690440147554,
# 5e-05
# ]
# ];
#
# Real values of the parameters (as demonstrated by noisy input data):
# a = 0.2
# c = 2
Algorithm::CurveFit implements a nonlinear least squares curve fitting algorithm. That means, it fits a curve of known form (sine-like, exponential, polynomial of degree n, etc.) to a given set of data points.
For details about the algorithm and its capabilities and flaws, youre encouraged to read the MathWorld page referenced below. Note, however, that it is an iterative algorithm that improves the fit with each iteration until it converges. The following rule of thumb usually holds true:
A good guess improves the probability of convergence and the quality of the fit.
Increasing the number of free parameters decreases the quality and convergence speed.
Make sure that there are no correlated parameters such as in a + b * e^(c+x). (The example can be rewritten as a + b * e^c * e^x in which c and b are basically equivalent parameters.
The curve fitting algorithm is accessed via the curve_fit subroutine. It requires the following parameters as key => value pairs:
formula
The formula should be a string that can be parsed by Math::Symbolic. Alternatively, it can be an existing Math::Symbolic tree. Please refer to the documentation of that module for the syntax.
Evaluation of the formula for a specific value of the variable (X-Data) and the parameters (see below) should yield the associated Y-Data value in case of perfect fit.
variable
The variable is the variable in the formula that will be replaced with the X-Data points for evaluation. If omitted in the call to curve_fit, the name x is default. (Hence xdata.)
params
The parameters are the symbols in the formula whose value is varied by the algorithm to find the best fit of the curve to the data. There may be one or more parameters, but please keep in mind that the number of parameters not only increases processing time, but also decreases the quality of the fit.
The value of this options should be an anonymous array. This array should hold one anonymous array for each parameter. That array should hold (in order) a parameter name, an initial guess, and optionally an accuracy measure.
Example:
$params = [
[parameter1, 5, 0.00001],
[parameter2, 12, 0.0001 ],
...
];
Then later:
curve_fit(
...
params => $params,
...
);
The accuracy measure means that if the change of parameters from one iteration to the next is below each accuracy measure for each parameter, convergence is assumed and the algorithm stops iterating.
In order to prevent looping forever, you are strongly encouraged to make use of the accuracy measure (see also: maximum_iterations).
The final set of parameters is not returned from the subroutine but the parameters are modified in-place. That means the original data structure will hold the best estimate of the parameters.
xdata
This should be an array reference to an array holding the data for the variable of the function. (Which defaults to x.)
ydata
This should be an array reference to an array holding the function values corresponding to the x-values in xdata.
maximum_iterations
Optional parameter to make the process stop after a given number of iterations. Using the accuracy measure and this option together is encouraged to prevent the algorithm from going into an endless loop in some cases.
The subroutine returns the sum of square residuals after the final iteration as a measure for the quality of the fit.
<<lessSYNOPSIS
use Algorithm::CurveFit;
# Known form of the formula
my $formula = c + a * x^2;
my $variable = x;
my @xdata = read_file(xdata); # The data corresponsing to $variable
my @ydata = read_file(ydata); # The data on the other axis
my @parameters = (
# Name Guess Accuracy
[a, 0.9, 0.00001], # If an iteration introduces smaller
[c, 20, 0.00005], # changes that the accuracy, end.
);
my $max_iter = 100; # maximum iterations
my $square_residual = Algorithm::CurveFit->curve_fit(
formula => $formula, # may be a Math::Symbolic tree instead
params => @parameters,
variable => $variable,
xdata => @xdata,
ydata => @ydata,
maximum_iterations => $max_iter,
);
use Data::Dumper;
print Dumper @parameters;
# Prints
# $VAR1 = [
# [
# a,
# 0.201366784209602,
# 1e-05
# ],
# [
# c,
# 1.94690440147554,
# 5e-05
# ]
# ];
#
# Real values of the parameters (as demonstrated by noisy input data):
# a = 0.2
# c = 2
Algorithm::CurveFit implements a nonlinear least squares curve fitting algorithm. That means, it fits a curve of known form (sine-like, exponential, polynomial of degree n, etc.) to a given set of data points.
For details about the algorithm and its capabilities and flaws, youre encouraged to read the MathWorld page referenced below. Note, however, that it is an iterative algorithm that improves the fit with each iteration until it converges. The following rule of thumb usually holds true:
A good guess improves the probability of convergence and the quality of the fit.
Increasing the number of free parameters decreases the quality and convergence speed.
Make sure that there are no correlated parameters such as in a + b * e^(c+x). (The example can be rewritten as a + b * e^c * e^x in which c and b are basically equivalent parameters.
The curve fitting algorithm is accessed via the curve_fit subroutine. It requires the following parameters as key => value pairs:
formula
The formula should be a string that can be parsed by Math::Symbolic. Alternatively, it can be an existing Math::Symbolic tree. Please refer to the documentation of that module for the syntax.
Evaluation of the formula for a specific value of the variable (X-Data) and the parameters (see below) should yield the associated Y-Data value in case of perfect fit.
variable
The variable is the variable in the formula that will be replaced with the X-Data points for evaluation. If omitted in the call to curve_fit, the name x is default. (Hence xdata.)
params
The parameters are the symbols in the formula whose value is varied by the algorithm to find the best fit of the curve to the data. There may be one or more parameters, but please keep in mind that the number of parameters not only increases processing time, but also decreases the quality of the fit.
The value of this options should be an anonymous array. This array should hold one anonymous array for each parameter. That array should hold (in order) a parameter name, an initial guess, and optionally an accuracy measure.
Example:
$params = [
[parameter1, 5, 0.00001],
[parameter2, 12, 0.0001 ],
...
];
Then later:
curve_fit(
...
params => $params,
...
);
The accuracy measure means that if the change of parameters from one iteration to the next is below each accuracy measure for each parameter, convergence is assumed and the algorithm stops iterating.
In order to prevent looping forever, you are strongly encouraged to make use of the accuracy measure (see also: maximum_iterations).
The final set of parameters is not returned from the subroutine but the parameters are modified in-place. That means the original data structure will hold the best estimate of the parameters.
xdata
This should be an array reference to an array holding the data for the variable of the function. (Which defaults to x.)
ydata
This should be an array reference to an array holding the function values corresponding to the x-values in xdata.
maximum_iterations
Optional parameter to make the process stop after a given number of iterations. Using the accuracy measure and this option together is encouraged to prevent the algorithm from going into an endless loop in some cases.
The subroutine returns the sum of square residuals after the final iteration as a measure for the quality of the fit.
Download (0.011MB)
Added: 2007-05-16 License: Perl Artistic License Price:
893 downloads
Crypt::ECDSA::Curve 0.052
Crypt::ECDSA::Curve is a base class for ECC curves. more>>
Crypt::ECDSA::Curve is a base class for ECC curves.
These are for use with Crypt::ECDSA, a Math::GMPz based cryptography module.
METHODS
new
Constructor. Takes the following named pair arguments:
standard => standard-curve-name
Used for named standard curves such as the NIST standard curves.
Preferentially, these are invoked by classes which inherit
from Crypt::ECDSA::Curve, such as Crypt::ECDSA::Curve::Prime,
Crypt::ECDSA::Curve::Binary, or Crypt::ECDSA::Curve::Koblitz.
See US govenment standard publications FIPS 186-2 or FIPS 186-3.
used as:
new(standard => standard curve name), where curve name is one of:
Crypt::ECDSA::Curve::Prime->new( standard =>
[ one of ECP-192, ECP-224, ECP-256, ECP-384, ECP-521 ] )
Crypt::ECDSA::Curve::Koblitz->new( standard =>
[ one of EC2N-163, EC2N-233, EC2N-283, EC2N-409, EC2N-571 ] )
Koblitz curves are a special case of binary curves, with a simpler equation.
Non-standard curve types are supported either via specifying parameters and algorithm,
or by specifying a generic "standard" via specifying in new the pair:
standard => generic_prime or standard => generic_binary.
The following are used mainly for non-standard curve types. They are
gotten from pre-defined values for named curves:
p => $p , sets curve modulus ( for prime curve over F(p) )
a => $a, sets curve param a
b => $b, sets curve param b
N => the exponent in 2**N, where 2**N is a binary curve modulus
( for binary or Koblitz curve over F(2**N) )
h => curve cofactor for the point order
r => base point G order for prime curves
n => base point G order for binary curves
G_x => $x, a base point x coordinate
G_y => $y, a base point y coordinate
irreducible => binary curve irreducible basis polynimial in binary integer
format, so that x**233 + x**74 + 1 becomes
polynomial => [ 233, 74, 0 ] and irreducible =>
0x20000000000000000000000000000000000000004000000000000000001
a
my $param = $curve->a;
Returns parameter a in the elliptic equation.
b
my $param = $curve->b;
Returns parameter b in the elliptic equation.
p
my $param = $curve->p;
returns parameter p in the equation-- this is the field modulus parameter for prime curves
order
my $param = $curve->order;
Returns the curve base point G order if known.
curve_order
my $param = $curve->curve_order;
Returns the curve order if known. This might calculate the order some day.
It does not in this version.
infinity
my $inf = $curve->infinity;
Returns a valid point at infinity for the curve.
standard
my $param = $curve->standard;
Returns the standard type of the curve, if defined for the instance.
<<lessThese are for use with Crypt::ECDSA, a Math::GMPz based cryptography module.
METHODS
new
Constructor. Takes the following named pair arguments:
standard => standard-curve-name
Used for named standard curves such as the NIST standard curves.
Preferentially, these are invoked by classes which inherit
from Crypt::ECDSA::Curve, such as Crypt::ECDSA::Curve::Prime,
Crypt::ECDSA::Curve::Binary, or Crypt::ECDSA::Curve::Koblitz.
See US govenment standard publications FIPS 186-2 or FIPS 186-3.
used as:
new(standard => standard curve name), where curve name is one of:
Crypt::ECDSA::Curve::Prime->new( standard =>
[ one of ECP-192, ECP-224, ECP-256, ECP-384, ECP-521 ] )
Crypt::ECDSA::Curve::Koblitz->new( standard =>
[ one of EC2N-163, EC2N-233, EC2N-283, EC2N-409, EC2N-571 ] )
Koblitz curves are a special case of binary curves, with a simpler equation.
Non-standard curve types are supported either via specifying parameters and algorithm,
or by specifying a generic "standard" via specifying in new the pair:
standard => generic_prime or standard => generic_binary.
The following are used mainly for non-standard curve types. They are
gotten from pre-defined values for named curves:
p => $p , sets curve modulus ( for prime curve over F(p) )
a => $a, sets curve param a
b => $b, sets curve param b
N => the exponent in 2**N, where 2**N is a binary curve modulus
( for binary or Koblitz curve over F(2**N) )
h => curve cofactor for the point order
r => base point G order for prime curves
n => base point G order for binary curves
G_x => $x, a base point x coordinate
G_y => $y, a base point y coordinate
irreducible => binary curve irreducible basis polynimial in binary integer
format, so that x**233 + x**74 + 1 becomes
polynomial => [ 233, 74, 0 ] and irreducible =>
0x20000000000000000000000000000000000000004000000000000000001
a
my $param = $curve->a;
Returns parameter a in the elliptic equation.
b
my $param = $curve->b;
Returns parameter b in the elliptic equation.
p
my $param = $curve->p;
returns parameter p in the equation-- this is the field modulus parameter for prime curves
order
my $param = $curve->order;
Returns the curve base point G order if known.
curve_order
my $param = $curve->curve_order;
Returns the curve order if known. This might calculate the order some day.
It does not in this version.
infinity
my $inf = $curve->infinity;
Returns a valid point at infinity for the curve.
standard
my $param = $curve->standard;
Returns the standard type of the curve, if defined for the instance.
Download (0.14MB)
Added: 2007-07-13 License: Perl Artistic License Price:
861 downloads
Lanai Core 0.6.0
Lanai Core is a mature OOP framework for building Web, command line, and GUI applications. more>>
Lanai Core is a mature OOP framework for building Web, command line, and GUI applications. Lanai Core allows PHP developers to easily integrate and manage code resources and build complex applications quickly.
The compact core framework includes a basic CMS and other modules to help you get started. It features a shallow learning curve, a performance-conscious design, and tight integration with the PEAR libraries.
Lanai Core build in standard modules for build your website :
- Banner allow yout to rotate your banner or agencies banner.
- Contect a simple form mail allow your visitors contact to you via e-mail.
- Download you can publish your file or archive contents by using this.
- F.A.Q. create frequenly ask questions to give more information for your service or support.
- News publish your news or events.
- Poll create simple questionaire.
- RSS feed RSS content to your site.
- SiteMap automatic generate site map for google site map service.
- Syndication automatic content syndication for your visitor.
- Language easy to switch the site interface language.
- Theme change look and feel for your site just click!.
- Logs record visitor behavior and analyze in to graphs.
- and more...
<<lessThe compact core framework includes a basic CMS and other modules to help you get started. It features a shallow learning curve, a performance-conscious design, and tight integration with the PEAR libraries.
Lanai Core build in standard modules for build your website :
- Banner allow yout to rotate your banner or agencies banner.
- Contect a simple form mail allow your visitors contact to you via e-mail.
- Download you can publish your file or archive contents by using this.
- F.A.Q. create frequenly ask questions to give more information for your service or support.
- News publish your news or events.
- Poll create simple questionaire.
- RSS feed RSS content to your site.
- SiteMap automatic generate site map for google site map service.
- Syndication automatic content syndication for your visitor.
- Language easy to switch the site interface language.
- Theme change look and feel for your site just click!.
- Logs record visitor behavior and analyze in to graphs.
- and more...
Download (2.1MB)
Added: 2007-07-30 License: GPL (GNU General Public License) Price:
817 downloads
libbasiccard 0.2.0
libbasiccard is a library to access BasicCards (programmable smart cards). more>>
libbasiccard is a library to access BasicCards (programmable smart cards). It closely follows the official APIs defined by ZeitControl (Cri, Bci, and zccrypt), extending them where needed. The project also includes support for the MultiApplication BasicCard and the BasicCard cryptography functions.
Enhancements:
- A port of the BasicCard cryptographic API (zccrypt) in the form of a new library called libbccrypto was added (elliptic curve cryptography support is available on request.)
- Support for all the commands of the MultiApplication BasicCard was added.
<<lessEnhancements:
- A port of the BasicCard cryptographic API (zccrypt) in the form of a new library called libbccrypto was added (elliptic curve cryptography support is available on request.)
- Support for all the commands of the MultiApplication BasicCard was added.
Download (0.13MB)
Added: 2007-03-27 License: GPL (GNU General Public License) Price:
946 downloads
Derbrill Tutorials
Derbrill Tutorials are Free Tutorials For Writing Games and Multimedia Applications in Runtime Revolution with ArcadeEngine. more>>
Derbrill Tutorials are Free Tutorials For Writing Games and Multimedia Applications in Runtime Revolution with ArcadeEngine.
The tutorials come in a visually appealing e-book format which is both easy to read and use, the range of topics covered includes:
* The basics of Revolution such as: stacks, cards, scripts, messages and timers
* How to use geometric properties such as distances, angles and intersection rectangles
* Understanding and using different movements including linear, polygonal, circular and elliptic
* Advanced use of images
* Using the built-in collision detection
<<lessThe tutorials come in a visually appealing e-book format which is both easy to read and use, the range of topics covered includes:
* The basics of Revolution such as: stacks, cards, scripts, messages and timers
* How to use geometric properties such as distances, angles and intersection rectangles
* Understanding and using different movements including linear, polygonal, circular and elliptic
* Advanced use of images
* Using the built-in collision detection
Download (4.2MB)
Added: 2005-10-17 License: Freeware Price:
1470 downloads
Video Related Picture Editor 0.32
Video Related Picture Editor is a gtk2 GUI frontend for batch-manipulating images using ImageMagick, MPlayer and transcode. more>>
Video Related Picture Editor is a gtk2 GUI frontend for batch-manipulating images using ImageMagick, MPlayer and transcode.
Its also the name of the infamous VRPE Team who paid me for hacking this together quickly because they needed it.
The name
Why "video related picture encoder" ? Because I didnt find a better name :) Any suggestions are welcome. With v0.1 the project was called "gFader" because all it did was "morphing" single frames to slow-down a video (giving a "fade-like effect") as batch-job with nice gui so poor Windows users could use it ;) My customer then wanted gFader to also do crop and scaling of multiple image files which rendered "gFader" as projectname useless. So i tried to make up some general name, which still fits if the application-range grows.
What can it do?
VRPE is able to do batch image-processing on a large set of images providing a way to move between images and giving a preview of the current, the previous and the next frame all with a nice GUI.
Different effects can be applied to the image-set (e.g morph, crop). Some of the effects support variable parameters so an effect can change with the image position.
VRPE can load several image formats (the ones supported by gtk2 and ImageMagick) or can convert almost any video to single frames using mplayer. It exports single images but also can render a videofile using mencoder or transcode. You can even launch mplayer to look at what youve done.
Other Features are:
Tooltip explainations almost everywhere
Nice wiki
quite fast
Drawbacks at this time:
lousy hacked together code
somewhat static filename handling
no "project" cababilities (images from previous sessions get imported if directory is not cleared etc.)
morph-curve gets lost
many more...
<<lessIts also the name of the infamous VRPE Team who paid me for hacking this together quickly because they needed it.
The name
Why "video related picture encoder" ? Because I didnt find a better name :) Any suggestions are welcome. With v0.1 the project was called "gFader" because all it did was "morphing" single frames to slow-down a video (giving a "fade-like effect") as batch-job with nice gui so poor Windows users could use it ;) My customer then wanted gFader to also do crop and scaling of multiple image files which rendered "gFader" as projectname useless. So i tried to make up some general name, which still fits if the application-range grows.
What can it do?
VRPE is able to do batch image-processing on a large set of images providing a way to move between images and giving a preview of the current, the previous and the next frame all with a nice GUI.
Different effects can be applied to the image-set (e.g morph, crop). Some of the effects support variable parameters so an effect can change with the image position.
VRPE can load several image formats (the ones supported by gtk2 and ImageMagick) or can convert almost any video to single frames using mplayer. It exports single images but also can render a videofile using mencoder or transcode. You can even launch mplayer to look at what youve done.
Other Features are:
Tooltip explainations almost everywhere
Nice wiki
quite fast
Drawbacks at this time:
lousy hacked together code
somewhat static filename handling
no "project" cababilities (images from previous sessions get imported if directory is not cleared etc.)
morph-curve gets lost
many more...
Download (0.28MB)
Added: 2006-09-14 License: GPL (GNU General Public License) Price:
659 downloads
Keystone Application Framework 0.9.6
Keystone is a cross-platform, object oriented application framework. more>>
Keystone is a cross-platform, object oriented application framework which allows applications to be written to build on the target platforms of GNU/Linux and Win32 without modification of their source.
Keystone Application Framework implements several modern Web standards, including SVG graphics and the XUL user interface description language.
Enhancements:
- A significant development in this release is the optional use of the GDI+ (Win32) and CairoGraphics (Linux) rendering backends to render SVG content.
- In addition, support for SVG paths has been much improved with the ability to render bezier and elliptical segments.
<<lessKeystone Application Framework implements several modern Web standards, including SVG graphics and the XUL user interface description language.
Enhancements:
- A significant development in this release is the optional use of the GDI+ (Win32) and CairoGraphics (Linux) rendering backends to render SVG content.
- In addition, support for SVG paths has been much improved with the ability to render bezier and elliptical segments.
Download (0.74MB)
Added: 2006-04-26 License: LGPL (GNU Lesser General Public License) Price:
1276 downloads
Libfilth 0.4
Libfilth is a library for designing, analysing, transforming, and executing digital FIR and IIR filters. more>>
Libfilth is a library for designing, analysing, transforming and executing digital FIR and IIR filters.
The filter design methods include:
- FIR filter with linear-phase, least-squares design.
- FIR filter with complex specification, least-squares Design.
- FIR filter with linear-phase, minimax-design using linear programming.
- FIR filter with linear-phase, minimax-design using Remes algorithm.
- FIR filter with minimum-phase and optimal amplitude.
- FIR filter with complex specification, minimax-design.
- FIR filter with group delay constraints.
- FIR optimal window using quadratic programming.
- FIR filter with minimum-phase by spectral factorisation.
- FIR filter design by cepstrum technique.
- Analog filter design Bessel-Thomson, Butterworth, Chebyshev type I, II and Elliptic function filter.
- Transformation of analog to analog and analog to digital filters.
- All-pass realization of IIR filters.
- FIR half-band filters.
- DFT filterbanks and parallel DFT filterbanks design and implementation.
- Analysis functions for calculating the properties if analog, IIR and FIR filters.
<<lessThe filter design methods include:
- FIR filter with linear-phase, least-squares design.
- FIR filter with complex specification, least-squares Design.
- FIR filter with linear-phase, minimax-design using linear programming.
- FIR filter with linear-phase, minimax-design using Remes algorithm.
- FIR filter with minimum-phase and optimal amplitude.
- FIR filter with complex specification, minimax-design.
- FIR filter with group delay constraints.
- FIR optimal window using quadratic programming.
- FIR filter with minimum-phase by spectral factorisation.
- FIR filter design by cepstrum technique.
- Analog filter design Bessel-Thomson, Butterworth, Chebyshev type I, II and Elliptic function filter.
- Transformation of analog to analog and analog to digital filters.
- All-pass realization of IIR filters.
- FIR half-band filters.
- DFT filterbanks and parallel DFT filterbanks design and implementation.
- Analysis functions for calculating the properties if analog, IIR and FIR filters.
Download (0.30MB)
Added: 2005-10-01 License: GPL (GNU General Public License) Price:
1484 downloads
Splint 3.1.1
Splint is a tool that checks C programs for security problems and coding mistakes. more>>
Splint is a tool for statically checking C programs for security vulnerabilities and programming mistakes.
Splint does many of the traditional lint checks including unused declarations, type inconsistencies, use before definition, unreachable code, ignored return values, execution paths with no return, likely infinite loops, and fall through cases.
More powerful checks are made possible by additional information given in source code annotations. Annotations are stylized comments that document assumptions about functions, variables, parameters and types.
In addition to the checks specifically enabled by annotations, many of the traditional lint checks are improved by exploiting this additional information.
As more effort is put into annotating programs, better checking results. A representational effort-benefit curve for using Splint is shown in Figure 1.
Splint is designed to be flexible and allow programmers to select appropriate points on the effort-benefit curve for particular projects.
As different checks are turned on and more information is given in code annotations the number of bugs that can be detected increases dramatically.
Problems detected by Splint include:
- Dereferencing a possibly null pointer
- Using possibly undefined storage or returning storage that is not properly defined
- Type mismatches, with greater precision and flexibility than provided by C compilers
- Violations of information hiding
- Memory management errors including uses of dangling references and memory leaks
- Dangerous aliasing
- Modifications and global variable uses that are inconsistent with specified interfaces
- Problematic control flow such as likely infinite loops, fall through cases or incomplete switches, and suspicious statements
- Buffer overflow vulnerabilities
- Dangerous macro implementations or invocations
- Violations of customized naming conventions.
<<lessSplint does many of the traditional lint checks including unused declarations, type inconsistencies, use before definition, unreachable code, ignored return values, execution paths with no return, likely infinite loops, and fall through cases.
More powerful checks are made possible by additional information given in source code annotations. Annotations are stylized comments that document assumptions about functions, variables, parameters and types.
In addition to the checks specifically enabled by annotations, many of the traditional lint checks are improved by exploiting this additional information.
As more effort is put into annotating programs, better checking results. A representational effort-benefit curve for using Splint is shown in Figure 1.
Splint is designed to be flexible and allow programmers to select appropriate points on the effort-benefit curve for particular projects.
As different checks are turned on and more information is given in code annotations the number of bugs that can be detected increases dramatically.
Problems detected by Splint include:
- Dereferencing a possibly null pointer
- Using possibly undefined storage or returning storage that is not properly defined
- Type mismatches, with greater precision and flexibility than provided by C compilers
- Violations of information hiding
- Memory management errors including uses of dangling references and memory leaks
- Dangerous aliasing
- Modifications and global variable uses that are inconsistent with specified interfaces
- Problematic control flow such as likely infinite loops, fall through cases or incomplete switches, and suspicious statements
- Buffer overflow vulnerabilities
- Dangerous macro implementations or invocations
- Violations of customized naming conventions.
Download (1.63MB)
Added: 2005-04-18 License: GPL (GNU General Public License) Price:
1651 downloads
PycURL 7.16.4
PycURL is a Python interface to libcurl. more>>
PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of features.
libcurl is a free and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more.
libcurl is highly portable, it builds and works identically on numerous platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more.
libcurl is free, IPv6 compatible, feature rich, thread-safe, well supported and fast.
PycURL is targeted at the advanced developer - if you need dozens of concurrent fast and reliable connections or any of the sophisiticated features as listed above then PycURL is for you.
The main drawback with PycURL is that it is a relative thin layer over libcurl without any of those nice Pythonic class hierarchies. This means it has a somewhat steep learning curve unless you are already familiar with libcurls C API.
To sum up, PycURL is very fast (esp. for multiple concurrent operations) and very feature complete, but has a somewhat complex interface.
If you need something simpler or prefer a pure Python module you might want to check out urllib2 and urlgrabber. There is also a good comparision of the various libraries.
Enhancements:
- This release allows callable objects as callback functions.
- It adds the NEW_DIRECTORY_PERMS and NEW_FILE_PERMS options from libcurl 7.16.4.
<<lesslibcurl is a free and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more.
libcurl is highly portable, it builds and works identically on numerous platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more.
libcurl is free, IPv6 compatible, feature rich, thread-safe, well supported and fast.
PycURL is targeted at the advanced developer - if you need dozens of concurrent fast and reliable connections or any of the sophisiticated features as listed above then PycURL is for you.
The main drawback with PycURL is that it is a relative thin layer over libcurl without any of those nice Pythonic class hierarchies. This means it has a somewhat steep learning curve unless you are already familiar with libcurls C API.
To sum up, PycURL is very fast (esp. for multiple concurrent operations) and very feature complete, but has a somewhat complex interface.
If you need something simpler or prefer a pure Python module you might want to check out urllib2 and urlgrabber. There is also a good comparision of the various libraries.
Enhancements:
- This release allows callable objects as callback functions.
- It adds the NEW_DIRECTORY_PERMS and NEW_FILE_PERMS options from libcurl 7.16.4.
Download (0.067MB)
Added: 2007-07-12 License: LGPL (GNU Lesser General Public License) Price:
838 downloads
Statistics::ROC 0.04
Statistics::ROC is a Perl module with receiver-operator-characteristic (ROC) curves with nonparametric confidence bounds. more>>
Statistics::ROC is a Perl module with receiver-operator-characteristic (ROC) curves with nonparametric confidence bounds.
SYNOPSIS
use Statistics::ROC;
my ($y) = loggamma($x);
my ($y) = betain($x, $p, $q, $beta);
my ($y) = Betain($x, $p, $q);
my ($y) = xinbta($p, $q, $beta, $alpha);
my ($y) = Xinbta($p, $q, $alpha);
my (@rk) = rank($type, @r);
my (@ROC) = roc($model_type,$conf,@val_grp);
This program determines the ROC curve and its nonparametric confidence bounds for data categorized into two groups. A ROC curve shows the relationship of probability of false alarm (x-axis) to probability of detection (y-axis) for a certain test. Expressed in medical terms: the probability of a positive test, given no disease to the probability of a positive test, given disease. The ROC curve may be used to determine an optimal cutoff point for the test.
The main function is roc(). The other exported functions are used by roc(), but might be useful for other nonparametric statistical procedures.
loggamma
This procedure evaluates the natural logarithm of gamma(x) for all x>0, accurate to 10 decimal places. Stirlings formula is used for the central polynomial part of the procedure. For x=0 a value of 743.746924740801 will be returned: this is loggamma(9.9999999999E-324).
betain
Computes incomplete beta function ratio
Remarks:
Complete beta function: B(p,q)=gamma(p)*gamma(q)/gamma(p+q)
log(B(p,q))=ln(gamma(p))+ln(gamma(q))-ln(gamma(p+q))
Incomplete beta function ratio:
I_x(p,q)=1/B(p,q) * int_0^x t^{p-1}*(1-t)^{q-1} dt
--> log(B(p,q)) has to be supplied to calculate I_x(p,q)
log denotes the natural logarithm
$beta = log(B(p,q))
$x = x
$p = p
$q = q
The subroutine returns I_x(p,q). If an error occurs a negative value
{-1,-2} is returned.
Betain
Computes the incomplete beta function by calling loggamma() and betain().
xinbta
Computes inverse of incomplete beta function ratio
Remarks:
Complete beta function: B(p,q)=gamma(p)*gamma(q)/gamma(p+q)
log(B(p,q))=ln(gamma(p))+ln(gamma(q))-ln(gamma(p+q))
Incomplete beta function ratio:
alpha = I_x(p,q) = 1/B(p,q) * int_0^x t^{p-1}*(1-t)^{q-1} dt
--> log(B(p,q)) has to be supplied to calculate I_x(p,q)
log denotes the natural logarithm
$beta = log(B(p,q))
$alpha= I_x(p,q)
$p = p
$q = q
The subroutine returns x. If an error occurs a negative value {-1,-2,-3}
is returned.
Xinbta
Computes the inverse of the incomplete beta function by calling loggamma() and xinbta().
rank
Computes the ranks of the values specified as the second argument (an array). Returns a vector of ranks corresponding to the input vector. Different types of ranking are possible (high, low, mean), and are specified as first argument. These differ in the way ties of the input vector, i.e. identical values, are treated:
high:
replace ranks of identical values with their highest rank
low:
replace ranks of identical values with their lowest rank
mean:
replace ranks of identical values with the mean of their ranks
roc
Determines the ROC curve and its nonparametric confidence bounds. The ROC curve shows the relationship of "probability of false alarm" (x-axis) to "probability of detection" (y-axis) for a certain test. Or in medical terms: the "probability of a positive test, given no disease" to the "probability of a positive test, given disease". The ROC curve may be used to determine an "optimal" cutoff point for the test.
The routine takes three arguments:
(1) type of model: decrease or increase, this states the assumption that a higher (increase) value of the data tends to be an indicator of a positive test result or for the model decrease a lower value.
(2) two-sided confidence interval (usually 0.95 is chosen).
(3) the data stored as a list-of-lists: each entry in this list consits of an "value / true group" pair, i.e. value / disease present. Group values are from {0,1}. 0 stands for disease (or signal) not present (prior knowledge) and 1 for disease (or signal) present (prior knowledge). Example: @s=([2, 0], [12.5, 1], [3, 0], [10, 1], [9.5, 0], [9, 1]); Notice the small overlap of the groups. The optimal cutoff point to separate the two groups would be between 9 and 9.5 if the criterion of optimality is to maximize the probability of detection and simultaneously minimize the probability of false alarm.
Returns a list-of-lists with the three curves: @ROC=([@lower_b], [@roc], [@upper_b]) each of the curves is again a list-of-lists with each entry consisting of one (x,y) pair.
Examples:
$,=" ";
print loggamma(10), "n";
print Xinbta(3,4,Betain(.6,3,4)),"n";
@e=(0.7, 0.7, 0.9, 0.6, 1.0, 1.1, 1,.7,.6);
print rank(low,@e),"n";
print rank(high,@e),"n";
print rank(mean,@e),"n";
@var_grp=([1.5,0],[1.4,0],[1.4,0],[1.3,0],[1.2,0],[1,0],[0.8,0],
[1.1,1],[1,1],[1,1],[0.9,1],[0.7,1],[0.7,1],[0.6,1]);
@curves=roc(decrease,0.95,@var_grp);
print "$curves[0][2][0] $curves[0][2][1] n";
<<lessSYNOPSIS
use Statistics::ROC;
my ($y) = loggamma($x);
my ($y) = betain($x, $p, $q, $beta);
my ($y) = Betain($x, $p, $q);
my ($y) = xinbta($p, $q, $beta, $alpha);
my ($y) = Xinbta($p, $q, $alpha);
my (@rk) = rank($type, @r);
my (@ROC) = roc($model_type,$conf,@val_grp);
This program determines the ROC curve and its nonparametric confidence bounds for data categorized into two groups. A ROC curve shows the relationship of probability of false alarm (x-axis) to probability of detection (y-axis) for a certain test. Expressed in medical terms: the probability of a positive test, given no disease to the probability of a positive test, given disease. The ROC curve may be used to determine an optimal cutoff point for the test.
The main function is roc(). The other exported functions are used by roc(), but might be useful for other nonparametric statistical procedures.
loggamma
This procedure evaluates the natural logarithm of gamma(x) for all x>0, accurate to 10 decimal places. Stirlings formula is used for the central polynomial part of the procedure. For x=0 a value of 743.746924740801 will be returned: this is loggamma(9.9999999999E-324).
betain
Computes incomplete beta function ratio
Remarks:
Complete beta function: B(p,q)=gamma(p)*gamma(q)/gamma(p+q)
log(B(p,q))=ln(gamma(p))+ln(gamma(q))-ln(gamma(p+q))
Incomplete beta function ratio:
I_x(p,q)=1/B(p,q) * int_0^x t^{p-1}*(1-t)^{q-1} dt
--> log(B(p,q)) has to be supplied to calculate I_x(p,q)
log denotes the natural logarithm
$beta = log(B(p,q))
$x = x
$p = p
$q = q
The subroutine returns I_x(p,q). If an error occurs a negative value
{-1,-2} is returned.
Betain
Computes the incomplete beta function by calling loggamma() and betain().
xinbta
Computes inverse of incomplete beta function ratio
Remarks:
Complete beta function: B(p,q)=gamma(p)*gamma(q)/gamma(p+q)
log(B(p,q))=ln(gamma(p))+ln(gamma(q))-ln(gamma(p+q))
Incomplete beta function ratio:
alpha = I_x(p,q) = 1/B(p,q) * int_0^x t^{p-1}*(1-t)^{q-1} dt
--> log(B(p,q)) has to be supplied to calculate I_x(p,q)
log denotes the natural logarithm
$beta = log(B(p,q))
$alpha= I_x(p,q)
$p = p
$q = q
The subroutine returns x. If an error occurs a negative value {-1,-2,-3}
is returned.
Xinbta
Computes the inverse of the incomplete beta function by calling loggamma() and xinbta().
rank
Computes the ranks of the values specified as the second argument (an array). Returns a vector of ranks corresponding to the input vector. Different types of ranking are possible (high, low, mean), and are specified as first argument. These differ in the way ties of the input vector, i.e. identical values, are treated:
high:
replace ranks of identical values with their highest rank
low:
replace ranks of identical values with their lowest rank
mean:
replace ranks of identical values with the mean of their ranks
roc
Determines the ROC curve and its nonparametric confidence bounds. The ROC curve shows the relationship of "probability of false alarm" (x-axis) to "probability of detection" (y-axis) for a certain test. Or in medical terms: the "probability of a positive test, given no disease" to the "probability of a positive test, given disease". The ROC curve may be used to determine an "optimal" cutoff point for the test.
The routine takes three arguments:
(1) type of model: decrease or increase, this states the assumption that a higher (increase) value of the data tends to be an indicator of a positive test result or for the model decrease a lower value.
(2) two-sided confidence interval (usually 0.95 is chosen).
(3) the data stored as a list-of-lists: each entry in this list consits of an "value / true group" pair, i.e. value / disease present. Group values are from {0,1}. 0 stands for disease (or signal) not present (prior knowledge) and 1 for disease (or signal) present (prior knowledge). Example: @s=([2, 0], [12.5, 1], [3, 0], [10, 1], [9.5, 0], [9, 1]); Notice the small overlap of the groups. The optimal cutoff point to separate the two groups would be between 9 and 9.5 if the criterion of optimality is to maximize the probability of detection and simultaneously minimize the probability of false alarm.
Returns a list-of-lists with the three curves: @ROC=([@lower_b], [@roc], [@upper_b]) each of the curves is again a list-of-lists with each entry consisting of one (x,y) pair.
Examples:
$,=" ";
print loggamma(10), "n";
print Xinbta(3,4,Betain(.6,3,4)),"n";
@e=(0.7, 0.7, 0.9, 0.6, 1.0, 1.1, 1,.7,.6);
print rank(low,@e),"n";
print rank(high,@e),"n";
print rank(mean,@e),"n";
@var_grp=([1.5,0],[1.4,0],[1.4,0],[1.3,0],[1.2,0],[1,0],[0.8,0],
[1.1,1],[1,1],[1,1],[0.9,1],[0.7,1],[0.7,1],[0.6,1]);
@curves=roc(decrease,0.95,@var_grp);
print "$curves[0][2][0] $curves[0][2][1] n";
Download (0.017MB)
Added: 2007-05-23 License: Perl Artistic License Price:
885 downloads
Statistics::OLS 0.07
Statistics::OLS is a Perl module to perform ordinary least squares and associated statistics. more>>
Statistics::OLS is a Perl module to perform ordinary least squares and associated statistics.
SYNOPSIS
use Statistics::OLS;
my $ls = Statistics::OLS->new();
$ls->setData (@xydataset) or die( $ls->error() );
$ls->setData (@xdataset, @ydataset);
$ls->regress();
my ($intercept, $slope) = $ls->coefficients();
my $R_squared = $ls->rsq();
my ($tstat_intercept, $tstat_slope) = $ls->tstats();
my $sigma = $ls->sigma();
my $durbin_watson = $ls->dw();
my $sample_size = $ls->size();
my ($avX, $avY) = $ls->av();
my ($varX, $varY, $covXY) = $ls->var();
my ($xmin, $xmax, $ymin, $ymax) = $ls->minMax();
# returned arrays are x-y or y-only data
# depending on initial call to setData()
my @predictedYs = $ls->predicted();
my @residuals = $ls->residuals();
I wrote Statistics::OLS to perform Ordinary Least Squares (linear curve fitting) on two dimensional data: y = a + bx. The other simple statistical module I found on CPAN (Statistics::Descriptive) is designed for univariate analysis. It accomodates OLS, but somewhat inflexibly and without rich bivariate statistics. Nevertheless, it might make sense to fold OLS into that module or a supermodule someday.
Statistics::OLS computes the estimated slope and intercept of the regression line, their T-statistics, R squared, standard error of the regression and the Durbin-Watson statistic. It can also return the residuals.
It is pretty simple to do two dimensional least squares, but much harder to do multiple regression, so OLS is unlikely ever to work with multiple independent variables.
This is a beta code and has not been extensively tested. It has worked on a few published datasets. Feedback is welcome, particularly if you notice an error or try it with known results that are not reproduced correctly.
<<lessSYNOPSIS
use Statistics::OLS;
my $ls = Statistics::OLS->new();
$ls->setData (@xydataset) or die( $ls->error() );
$ls->setData (@xdataset, @ydataset);
$ls->regress();
my ($intercept, $slope) = $ls->coefficients();
my $R_squared = $ls->rsq();
my ($tstat_intercept, $tstat_slope) = $ls->tstats();
my $sigma = $ls->sigma();
my $durbin_watson = $ls->dw();
my $sample_size = $ls->size();
my ($avX, $avY) = $ls->av();
my ($varX, $varY, $covXY) = $ls->var();
my ($xmin, $xmax, $ymin, $ymax) = $ls->minMax();
# returned arrays are x-y or y-only data
# depending on initial call to setData()
my @predictedYs = $ls->predicted();
my @residuals = $ls->residuals();
I wrote Statistics::OLS to perform Ordinary Least Squares (linear curve fitting) on two dimensional data: y = a + bx. The other simple statistical module I found on CPAN (Statistics::Descriptive) is designed for univariate analysis. It accomodates OLS, but somewhat inflexibly and without rich bivariate statistics. Nevertheless, it might make sense to fold OLS into that module or a supermodule someday.
Statistics::OLS computes the estimated slope and intercept of the regression line, their T-statistics, R squared, standard error of the regression and the Durbin-Watson statistic. It can also return the residuals.
It is pretty simple to do two dimensional least squares, but much harder to do multiple regression, so OLS is unlikely ever to work with multiple independent variables.
This is a beta code and has not been extensively tested. It has worked on a few published datasets. Feedback is welcome, particularly if you notice an error or try it with known results that are not reproduced correctly.
Download (0.008MB)
Added: 2007-05-23 License: Perl Artistic License Price:
531 downloads
Concepts 2.1.1
Concepts is a C++ class library for solving elliptic partial differential equations (PDEs) numerically. more>>
Concepts project is a C++ class library for solving elliptic partial differential equations (PDEs) numerically.
The design principle is the transfer of mathematical objects and grammar used to specify mathematical and numerical models of physical systems isomorphically into simulation software.
The design realization uses the C++ functionality of inheritance and derived classes.
<<lessThe design principle is the transfer of mathematical objects and grammar used to specify mathematical and numerical models of physical systems isomorphically into simulation software.
The design realization uses the C++ functionality of inheritance and derived classes.
Download (2.0MB)
Added: 2006-04-19 License: GPL (GNU General Public License) Price:
1298 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above elliptic curve search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed