des
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 57
Des a1
Des package contains the Des extension module for Perl. more>>
Des package contains the Des extension module for Perl.
The Des extension module gives access to the DES library.
The following is a brief and over-simplified description of the relevant stuff about DES.
DES keys are 8-byte blocks. A key is passed to a perl function as an 8-byte string. Before keys can be used to encrypt or decrypt data, the key needs to be transformed into a key schedule using the function set_key. There is a certain amount of overhead in creating these key schedules (which are 128 bytes or 256 bytes depending on implementation and architecture) so they can be created and cached for later if desired. Encryption and decryption can be done in 3 modes:
ECB (electronic code book) mode
Takes a des_cblock (perl 8-byte string) and produces another des_cblock. (Very rarely useful for large amounts of plain text, subject to known plaintext attacks under certain circumstances, only slightly faster than CBC or PCBC mode, and you lose even this advantage in perl).
CBC (cipher block chaining) mode
Takes an arbitrary length string, pads it out (internally) on the right with NULs to a multiple of 8-bytes. Encrypts/decrypts the data and produces output (same size as padded input) which is an exact multiple of 8 bytes long. Changing a single bit of the cleartext affects all the following ciphertext. However, changing a single bit of the ciphertext affects only the corresponding cleartext block and the following block. This is occasionally an advantage but is usually a disadvantage.
PCBC mode
A modified CBC mode with indefinite proagation of single bit errors both from cleartext to ciphertext and from ciphertext to cleartext. "Usually" the best mode (for certain values of "usually").
Functions imported by use Des.
string_to_key (STRING)
Takes an arbitrary STRING and munges it (with a one-way function) into a DES key, which is returned.
set_key (KEY)
The DES key KEY (which must be a string of exactly 8 bytes) is turned into a key schedule which is returned.
ecb_encrypt (INPUT, SCHEDULE)
The INPUT argument (which must be a string of exactly 8 bytes) is encrypted using ECB mode using key schedule SCHEDULE (created using set_key) and the resulting 8-byte string is returned.
ecb_decrypt (INPUT, SCHEDULE)
The INPUT argument (which must be a string of exactly 8 bytes) is decrypted using ECB mode using key schedule SCHEDULE (created using set_key) and the resulting 8-byte string is returned.
cbc_encrypt (INPUT, OUTPUT, SCHEDULE, IV)
The INPUT argument can be of arbitrary length, although it will be internally padded on the right with NULs to the nearest multiple of 8 bytes. INPUT is taken and encrypted using CBC mode with key schedule SCHEDULE and initialisation vector IV. If OUTPUT is not undef then it assumed to be an lvalue which is grown (if necessary) and receives the encrypted output. Whether or not OUTPUT is undef, the output is also available as the return value of the function.
cbc_decrypt (INPUT, OUTPUT, SCHEDULE, IV)
The INPUT argument can be of arbitrary length, although it will be internally padded on the right with NULs to the nearest multiple of 8 bytes. INPUT is taken and decrypted using CBC mode with key schedule SCHEDULE and initialisation vector IV. If OUTPUT is not undef then it assumed to be an lvalue which is grown (if necessary) and receives the decrypted output. Whether or not OUTPUT is undef, the output is also available as the return value of the function.
pcbc_encrypt (INPUT, OUTPUT, SCHEDULE, IV)
The INPUT argument can be of arbitrary length, although it will be internally padded on the right with NULs to the nearest multiple of 8 bytes. INPUT is taken and encrypted using PCBC mode with key schedule SCHEDULE and initialisation vector IV. If OUTPUT is not undef then it assumed to be an lvalue which is grown (if necessary) and receives the encrypted output. Whether or not OUTPUT is undef, the output is also available as the return value of the function.
pcbc_decrypt (INPUT, OUTPUT, SCHEDULE, IV)
The INPUT argument can be of arbitrary length, although it will be internally padded on the right with NULs to the nearest multiple of 8 bytes. INPUT is taken and decrypted using PCBC mode with key schedule SCHEDULE and initialisation vector IV. If OUTPUT is not undef then it assumed to be an lvalue which is grown (if necessary) and receives the decrypted output. Whether or not OUTPUT is undef, the output is also available as the return value of the function.
pcbc_cksum (INPUT, SCHEDULE, IV)
The INPUT argument can be of arbitrary length, although it will be internally padded on the right with NULs to the nearest multiple of 8 bytes. CBC mode is used to generate an 8-byte cryptographic checksum using key schedule SCHEDULE and initialisation vector IV. This checksum is returned.
Functions in package Des which can be imported
random_key ()
Produces a random DES key based on current time, PID and a counter.
read_password (PROMPT [, VERIFY])
Prints PROMPT on the terminal, turns off echo if possible and reads a password from the keyboard. If the optional VERIFY argument is present and true than the password is prompted for a second time and the two are compared. If different, the prompting is repeated. The resulting string is turned into a DES key (using string_to_key (q.v.) internally) and that key is returned.
<<lessThe Des extension module gives access to the DES library.
The following is a brief and over-simplified description of the relevant stuff about DES.
DES keys are 8-byte blocks. A key is passed to a perl function as an 8-byte string. Before keys can be used to encrypt or decrypt data, the key needs to be transformed into a key schedule using the function set_key. There is a certain amount of overhead in creating these key schedules (which are 128 bytes or 256 bytes depending on implementation and architecture) so they can be created and cached for later if desired. Encryption and decryption can be done in 3 modes:
ECB (electronic code book) mode
Takes a des_cblock (perl 8-byte string) and produces another des_cblock. (Very rarely useful for large amounts of plain text, subject to known plaintext attacks under certain circumstances, only slightly faster than CBC or PCBC mode, and you lose even this advantage in perl).
CBC (cipher block chaining) mode
Takes an arbitrary length string, pads it out (internally) on the right with NULs to a multiple of 8-bytes. Encrypts/decrypts the data and produces output (same size as padded input) which is an exact multiple of 8 bytes long. Changing a single bit of the cleartext affects all the following ciphertext. However, changing a single bit of the ciphertext affects only the corresponding cleartext block and the following block. This is occasionally an advantage but is usually a disadvantage.
PCBC mode
A modified CBC mode with indefinite proagation of single bit errors both from cleartext to ciphertext and from ciphertext to cleartext. "Usually" the best mode (for certain values of "usually").
Functions imported by use Des.
string_to_key (STRING)
Takes an arbitrary STRING and munges it (with a one-way function) into a DES key, which is returned.
set_key (KEY)
The DES key KEY (which must be a string of exactly 8 bytes) is turned into a key schedule which is returned.
ecb_encrypt (INPUT, SCHEDULE)
The INPUT argument (which must be a string of exactly 8 bytes) is encrypted using ECB mode using key schedule SCHEDULE (created using set_key) and the resulting 8-byte string is returned.
ecb_decrypt (INPUT, SCHEDULE)
The INPUT argument (which must be a string of exactly 8 bytes) is decrypted using ECB mode using key schedule SCHEDULE (created using set_key) and the resulting 8-byte string is returned.
cbc_encrypt (INPUT, OUTPUT, SCHEDULE, IV)
The INPUT argument can be of arbitrary length, although it will be internally padded on the right with NULs to the nearest multiple of 8 bytes. INPUT is taken and encrypted using CBC mode with key schedule SCHEDULE and initialisation vector IV. If OUTPUT is not undef then it assumed to be an lvalue which is grown (if necessary) and receives the encrypted output. Whether or not OUTPUT is undef, the output is also available as the return value of the function.
cbc_decrypt (INPUT, OUTPUT, SCHEDULE, IV)
The INPUT argument can be of arbitrary length, although it will be internally padded on the right with NULs to the nearest multiple of 8 bytes. INPUT is taken and decrypted using CBC mode with key schedule SCHEDULE and initialisation vector IV. If OUTPUT is not undef then it assumed to be an lvalue which is grown (if necessary) and receives the decrypted output. Whether or not OUTPUT is undef, the output is also available as the return value of the function.
pcbc_encrypt (INPUT, OUTPUT, SCHEDULE, IV)
The INPUT argument can be of arbitrary length, although it will be internally padded on the right with NULs to the nearest multiple of 8 bytes. INPUT is taken and encrypted using PCBC mode with key schedule SCHEDULE and initialisation vector IV. If OUTPUT is not undef then it assumed to be an lvalue which is grown (if necessary) and receives the encrypted output. Whether or not OUTPUT is undef, the output is also available as the return value of the function.
pcbc_decrypt (INPUT, OUTPUT, SCHEDULE, IV)
The INPUT argument can be of arbitrary length, although it will be internally padded on the right with NULs to the nearest multiple of 8 bytes. INPUT is taken and decrypted using PCBC mode with key schedule SCHEDULE and initialisation vector IV. If OUTPUT is not undef then it assumed to be an lvalue which is grown (if necessary) and receives the decrypted output. Whether or not OUTPUT is undef, the output is also available as the return value of the function.
pcbc_cksum (INPUT, SCHEDULE, IV)
The INPUT argument can be of arbitrary length, although it will be internally padded on the right with NULs to the nearest multiple of 8 bytes. CBC mode is used to generate an 8-byte cryptographic checksum using key schedule SCHEDULE and initialisation vector IV. This checksum is returned.
Functions in package Des which can be imported
random_key ()
Produces a random DES key based on current time, PID and a counter.
read_password (PROMPT [, VERIFY])
Prints PROMPT on the terminal, turns off echo if possible and reads a password from the keyboard. If the optional VERIFY argument is present and true than the password is prompted for a second time and the two are compared. If different, the prompting is repeated. The resulting string is turned into a DES key (using string_to_key (q.v.) internally) and that key is returned.
Download (0.010MB)
Added: 2007-05-10 License: Perl Artistic License Price:
897 downloads
Bundle::SSH 1.00
Bundle::SSH is a Perl bundle to install modules to use SSH from Perl. more>>
Bundle::SSH is a Perl bundle to install modules to use SSH from Perl.
SYNOPSIS
First you have to download and expand the PARI itself.
See INSTALL PARI below.
Then:
perl -MCPAN -e force install Bundle::SSH
This bundle defines the modules you need to use SSH from Perl. Thre are two ways to do this. One is using Net::SSH which is a wrapper around the ssh command installed (or not) on your computer. It is simple to install and use but it depends on external executabel and has other drawbacks too. I have included it in this bundle.
The other way which is more involved both in terms of installation and in the way you use it is called Net::SSH::Perl . It is a Perl/C implementation of the SSH protocol.
This module should list all the required modules (and maybe more) to use either of the above way to ssh to another machine. It is organized in a way so it will be able to install everything without the need to install prerequsite modules.
CONTENTS
Net::SSH - independent wrapper around the ssh command
Math::Pari - interface to PARI, testing gave me errors, need force
Class::Loader
Crypt::Random - errors, needed force
Digest::SHA1
Digest::HMAC
Digest::BubbleBabble - it seems that there are very few tests
Digest::MD2
Convert::ASN1
Crypt::Rijndael
Crypt::CBC
Crypt::DES
Crypt::DES_EDE3
Convert::PEM
Data::Buffer
Crypt::DSA
Crypt::DH
String::CRC32
Math::GMP
Compress::Zlib - I think this also needed force but I am not sure
Convert::ASCII::Armour
Crypt::Blowfish
Crypt::Primes - needs force
Sort::Versions
Tie::EncryptedHash
Crypt::RSA - needs force
Net::SSH::Perl - asks, intimate questions, my answereses are [3] and [2]
<<lessSYNOPSIS
First you have to download and expand the PARI itself.
See INSTALL PARI below.
Then:
perl -MCPAN -e force install Bundle::SSH
This bundle defines the modules you need to use SSH from Perl. Thre are two ways to do this. One is using Net::SSH which is a wrapper around the ssh command installed (or not) on your computer. It is simple to install and use but it depends on external executabel and has other drawbacks too. I have included it in this bundle.
The other way which is more involved both in terms of installation and in the way you use it is called Net::SSH::Perl . It is a Perl/C implementation of the SSH protocol.
This module should list all the required modules (and maybe more) to use either of the above way to ssh to another machine. It is organized in a way so it will be able to install everything without the need to install prerequsite modules.
CONTENTS
Net::SSH - independent wrapper around the ssh command
Math::Pari - interface to PARI, testing gave me errors, need force
Class::Loader
Crypt::Random - errors, needed force
Digest::SHA1
Digest::HMAC
Digest::BubbleBabble - it seems that there are very few tests
Digest::MD2
Convert::ASN1
Crypt::Rijndael
Crypt::CBC
Crypt::DES
Crypt::DES_EDE3
Convert::PEM
Data::Buffer
Crypt::DSA
Crypt::DH
String::CRC32
Math::GMP
Compress::Zlib - I think this also needed force but I am not sure
Convert::ASCII::Armour
Crypt::Blowfish
Crypt::Primes - needs force
Sort::Versions
Tie::EncryptedHash
Crypt::RSA - needs force
Net::SSH::Perl - asks, intimate questions, my answereses are [3] and [2]
Download (0.002MB)
Added: 2007-05-26 License: Perl Artistic License Price:
893 downloads
DirectoryPass 1.3
DirectoryPass is a very powerful, yet simple to use .htaccess management system. more>>
DirectoryPass is a very powerful, yet simple to use .htaccess management system. The project enables the user to administer both .htaccess and .htpasswd files to setup password protected directories and to add and remove users.
DirectoryPass automatically generates .htaccess files and is compatible with Cobalt RAQ and Windows .htaccess. DirectoryPass allows administration of an unlimited number of .htaccess and .htpasswd files within a particular users account/server.
DirectoryPass uses Apaches .htaccess and .htpasswd along with DES randomized salt generation and password encryption of passwords for increased security. Unlike our other products, DirectoryPass does not maintain a members database. It is simply a tool for managing your collection of .htaccess and .htpasswd files securely without the hassles of telnet or FTP.
Included in the administration panel are tools for addition and removal of users as well as the generation of .htaccess files.
Main features:
.htaccess Facilities
- Generate .htaccess files to password protect directories.
- Cobalt RAQ .htaccess compatible.
- Unix/Linux and Windows compatible.
.htpasswd Facilities
- Add user function.
- Remove user facility.
- Password are automatically encrypted with DES randomized salt encryption.
- Validation checks, checks for input and that usernames/passwords are more than 5 characters long.
- No duplicate usernames.
General Functionality
- Directory browser (flags password protected directories)
- Password protected for security.
- Ability to administer an unlimited number of .htaccess and .htpasswd files.
- Simple installation, upload one file, run via web browser and choose a password.
Version restrictions:
- DirectoryPass is available free of charge for all uses and purposes (i.e. personal, education, commercial etc.). The only requirements being that you must maintain the HTML link back to Locked-Area.com and Powered by DirectoryPass text at the footer of all the CGI scripts HTML outputs. We also require that all users of DirectoryPass register a members area account on our web site, the registration process for this requires that you input the web site URL/address that the software will be installed on and you are required to keep this information up-to-date. The compulsory link back can be removed for a small fee which can be purchased during registration. Only one account is required to download both Locked Area Lite and DirectoryPass.
Enhancements:
- This is a complete rewrite from version 1.2, including a redesigned interface allowing for directory browsing and new features such as .htaccess file removal.
- It is now Windows-compatible.
<<lessDirectoryPass automatically generates .htaccess files and is compatible with Cobalt RAQ and Windows .htaccess. DirectoryPass allows administration of an unlimited number of .htaccess and .htpasswd files within a particular users account/server.
DirectoryPass uses Apaches .htaccess and .htpasswd along with DES randomized salt generation and password encryption of passwords for increased security. Unlike our other products, DirectoryPass does not maintain a members database. It is simply a tool for managing your collection of .htaccess and .htpasswd files securely without the hassles of telnet or FTP.
Included in the administration panel are tools for addition and removal of users as well as the generation of .htaccess files.
Main features:
.htaccess Facilities
- Generate .htaccess files to password protect directories.
- Cobalt RAQ .htaccess compatible.
- Unix/Linux and Windows compatible.
.htpasswd Facilities
- Add user function.
- Remove user facility.
- Password are automatically encrypted with DES randomized salt encryption.
- Validation checks, checks for input and that usernames/passwords are more than 5 characters long.
- No duplicate usernames.
General Functionality
- Directory browser (flags password protected directories)
- Password protected for security.
- Ability to administer an unlimited number of .htaccess and .htpasswd files.
- Simple installation, upload one file, run via web browser and choose a password.
Version restrictions:
- DirectoryPass is available free of charge for all uses and purposes (i.e. personal, education, commercial etc.). The only requirements being that you must maintain the HTML link back to Locked-Area.com and Powered by DirectoryPass text at the footer of all the CGI scripts HTML outputs. We also require that all users of DirectoryPass register a members area account on our web site, the registration process for this requires that you input the web site URL/address that the software will be installed on and you are required to keep this information up-to-date. The compulsory link back can be removed for a small fee which can be purchased during registration. Only one account is required to download both Locked Area Lite and DirectoryPass.
Enhancements:
- This is a complete rewrite from version 1.2, including a redesigned interface allowing for directory browsing and new features such as .htaccess file removal.
- It is now Windows-compatible.
Download (MB)
Added: 2007-05-11 License: Other/Proprietary License Price:
897 downloads
The Blowfish cipher
The Blowfish cipher in C and i386 assembler. more>>
The Blowfish cipher in C and i386 assembler.
In cryptography, Blowfish is a keyed, symmetric block cipher, designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. While no effective cryptanalysis of Blowfish has been found to date, more attention is now given to block ciphers with a larger block size, such as AES or Twofish.
Schneier designed Blowfish as a general-purpose algorithm, intended as a replacement for the aging DES and free of the problems associated with other algorithms. At the time, many other designs were proprietary, encumbered by patents or kept as government secrets. Schneier has stated that, "Blowfish is unpatented, and will remain so in all countries. The algorithm is hereby placed in the public domain, and can be freely used by anyone."
<<lessIn cryptography, Blowfish is a keyed, symmetric block cipher, designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. While no effective cryptanalysis of Blowfish has been found to date, more attention is now given to block ciphers with a larger block size, such as AES or Twofish.
Schneier designed Blowfish as a general-purpose algorithm, intended as a replacement for the aging DES and free of the problems associated with other algorithms. At the time, many other designs were proprietary, encumbered by patents or kept as government secrets. Schneier has stated that, "Blowfish is unpatented, and will remain so in all countries. The algorithm is hereby placed in the public domain, and can be freely used by anyone."
Download (0.012MB)
Added: 2007-01-25 License: Public Domain Price:
1012 downloads
Games::WoW::PVP 0.01
Games::WoW::PVP is a Perl module with the great new Games::WoW::PVP! more>>
Games::WoW::PVP is a Perl module with the great new Games::WoW::PVP!
SYNOPSIS
Quick summary of what the module does.
Perhaps a little code snippet.
use Games::WoW::PVP;
my $WoW = Games::WoW::PVP->new();
# looking for a character
my %hash = $WoW->search_player(
{ country => EU, # EU europe US us
realm => conseil des ombres, # name of the realm
faction => h, # h horde a ally
character => raspa, # name of the player
}
);
# looking for top players
my %hash = $WoW->top(
{ country => EUR,
realm => elune,
faction => a,
}
);
<<lessSYNOPSIS
Quick summary of what the module does.
Perhaps a little code snippet.
use Games::WoW::PVP;
my $WoW = Games::WoW::PVP->new();
# looking for a character
my %hash = $WoW->search_player(
{ country => EU, # EU europe US us
realm => conseil des ombres, # name of the realm
faction => h, # h horde a ally
character => raspa, # name of the player
}
);
# looking for top players
my %hash = $WoW->top(
{ country => EUR,
realm => elune,
faction => a,
}
);
Download (0.004MB)
Added: 2007-01-05 License: Perl Artistic License Price:
1025 downloads
XySSL 0.7
XySSL is a cryptographic library written in C. more>>
XySSL is a cryptographic library written in C. It currently features several ciphers (AES, Triple-DES, and ARC4), hash functions (MD{2,4,5}, SHA-1, and SHA-256), and RSA and X.509 reading support.
XySSL project also implements the Secure Sockets Layer version 3 protocol (SSLv3), as well as the Transport Layer Security version 1 protocol.
Main features:
- AES, Triple-DES, DES, ARC4
- MD2, MD4, MD5, SHA-1, SHA-256
- HAVEGE random number generator
- RSA with PKCS#1 v1.5 padding
- SSLv3 and TLSv1 client support
- X.509 certificate reading
Enhancements:
- This releases fixes several bugs and adds nine demonstration programs.
<<lessXySSL project also implements the Secure Sockets Layer version 3 protocol (SSLv3), as well as the Transport Layer Security version 1 protocol.
Main features:
- AES, Triple-DES, DES, ARC4
- MD2, MD4, MD5, SHA-1, SHA-256
- HAVEGE random number generator
- RSA with PKCS#1 v1.5 padding
- SSLv3 and TLSv1 client support
- X.509 certificate reading
Enhancements:
- This releases fixes several bugs and adds nine demonstration programs.
Download (0.27MB)
Added: 2007-07-08 License: LGPL (GNU Lesser General Public License) Price:
845 downloads
Areca 5.3
Areca is an Open Source file backup software developped in Java. more>>
Areca is an Open Source file backup software developped in Java.
Main features:
- Archives Compression (Zip format)
- Archives Encryption (Triple DES encryption algorithm)
- Source file filters (by extension, subdirectory or regular expression)
- Incremental / Full backup support
- Archives content explorer
- Archive description : A manifest is associated to each archive, which contains various informations such as author, title, date, description, and some technical data.
- File history explorer : Areca keeps track of your files history (creation / modifications / deletion) over your archives.
- Backup simulation : useful to check wether a backup is necessary
- Archives merges / deletion : You can merge contiguous archives in one single archive or safely delete your latest archives.
- As of date recovery : Areca allows you to recover your archives (or single files) as of a specific date.
- Transaction mechanism : All critical processes (such as backups or merges) support a transaction mechanism (with commit / rollback management) which guarantees your backups integrity.
- Users actions history : Areca keeps an history of all users actions (archives deletion, merges, backups, recoveries).
- Archives indicators : Areca computes a lot of indicators for you, which will help you in the everyday management of your archives.
<<lessMain features:
- Archives Compression (Zip format)
- Archives Encryption (Triple DES encryption algorithm)
- Source file filters (by extension, subdirectory or regular expression)
- Incremental / Full backup support
- Archives content explorer
- Archive description : A manifest is associated to each archive, which contains various informations such as author, title, date, description, and some technical data.
- File history explorer : Areca keeps track of your files history (creation / modifications / deletion) over your archives.
- Backup simulation : useful to check wether a backup is necessary
- Archives merges / deletion : You can merge contiguous archives in one single archive or safely delete your latest archives.
- As of date recovery : Areca allows you to recover your archives (or single files) as of a specific date.
- Transaction mechanism : All critical processes (such as backups or merges) support a transaction mechanism (with commit / rollback management) which guarantees your backups integrity.
- Users actions history : Areca keeps an history of all users actions (archives deletion, merges, backups, recoveries).
- Archives indicators : Areca computes a lot of indicators for you, which will help you in the everyday management of your archives.
Download (3.7MB)
Added: 2007-08-16 License: GPL (GNU General Public License) Price:
800 downloads
Data::Serializer 0.41
Data::Serializer package contains modules that serialize data structures. more>>
Data::Serializer package contains modules that serialize data structures.
SYNOPSIS
use Data::Serializer;
$obj = Data::Serializer->new();
$obj = Data::Serializer->new(
serializer => Storable,
digester => MD5,
cipher => DES,
secret => my secret,
compress => 1,
);
$serialized = $obj->serialize({a => [1,2,3],b => 5});
$deserialized = $obj->deserialize($serialized);
print "$deserialized->{b}n";
Provides a unified interface to the various serializing modules currently available. Adds the functionality of both compression and encryption.
EXAMPLES
Please see Data::Serializer::Cookbook(3)
METHODS
new - constructor
$obj = Data::Serializer->new();
$obj = Data::Serializer->new(
serializer => Data::Dumper,
digester => SHA-256,
cipher => Blowfish,
secret => undef,
portable => 1,
compress => 0,
serializer_token => 1,
options => {},
);
new is the constructor object for Data::Serializer objects.
The default serializer is Data::Dumper
The default digester is SHA-256
The default cipher is Blowfish
The default secret is undef
The default portable is 1
The default encoding is hex
The default compress is 0
The default compressor is Compress::Zlib
The default serializer_token is 1
The default options is {} (pass nothing on to serializer)
serialize - serialize reference
$serialized = $obj->serialize({a => [1,2,3],b => 5});
Serializes the reference specified.
Will compress if compress is a true value.
Will encrypt if secret is defined.
deserialize - deserialize reference
$deserialized = $obj->deserialize($serialized);
Reverses the process of serialization and returns a copy of the original serialized reference.
freeze - synonym for serialize
$serialized = $obj->freeze({a => [1,2,3],b => 5});
thaw - synonym for deserialize
$deserialized = $obj->thaw($serialized);
raw_serialize - serialize reference in raw form
$serialized = $obj->raw_serialize({a => [1,2,3],b => 5});
This is a straight pass through to the underlying serializer, nothing else is done. (no encoding, encryption, compression, etc)
raw_deserialize - deserialize reference in raw form
$deserialized = $obj->raw_deserialize($serialized);
This is a straight pass through to the underlying serializer, nothing else is done. (no encoding, encryption, compression, etc)
secret - specify secret for use with encryption
$obj->secret(mysecret);
Changes setting of secret for the Data::Serializer object. Can also be set in the constructor. If specified than the object will utilize encryption.
portable - encodes/decodes serialized data
Uses encoding method to ascii armor serialized data
Aids in the portability of serialized data.
compress - compression of data
Compresses serialized data. Default is not to use it. Will compress if set to a true value $obj->compress(1);
serializer - change the serializer
Currently have 8 supported serializers: Storable, FreezeThaw, Data::Denter, Config::General, YAML, PHP::Serialization, XML::Dumper, and Data::Dumper.
Default is to use Data::Dumper.
Each serializer has its own caveats about usage especially when dealing with cyclical data structures or CODE references. Please see the appropriate documentation in those modules for further information.
cipher - change the cipher method
Utilizes Crypt::CBC and can support any cipher method that it supports.
digester - change digesting method
Uses Digest so can support any digesting method that it supports. Digesting function is used internally by the encryption routine as part of data verification.
compressor - changes compresing module
This method is included for possible future inclusion of alternate compression method Currently Compress::Zlib is the only supported compressor.
encoding - change encoding method
Encodes data structure in ascii friendly manner. Currently the only valid options are hex, or b64.
The b64 option uses Base64 encoding provided by MIME::Base64, but strips out newlines.
serializer_token - add usage hint to data
Data::Serializer prepends a token that identifies what was used to process its data. This is used internally to allow runtime determination of how to extract Serialized data. Disabling this feature is not recommended.
options - pass options through to underlying serializer
Currently is only supported by Config::General, and XML::Dumper.
my $obj = Data::Serializer->new(serializer => Config::General,
options => {
-LowerCaseNames => 1,
-UseApacheInclude => 1,
-MergeDuplicateBlocks => 1,
-AutoTrue => 1,
-InterPolateVars => 1
},
) or die "$!n";
or
my $obj = Data::Serializer->new(serializer => XML::Dumper,
options => { dtd => 1, }
) or die "$!n";
store - serialize data and write it to a file (or file handle)
$obj->store({a => [1,2,3],b => 5},$file, [$mode, $perm]);
or
$obj->store({a => [1,2,3],b => 5},$fh);
Serializes the reference specified using the serialize method and writes it out to the specified file or filehandle.
If a file path is specified you may specify an optional mode and permission as the next two arguments. See IO::File for examples.
Trips an exception if it is unable to write to the specified file.
retrieve - read data from file (or file handle) and return it after deserialization
my $ref = $obj->retrieve($file);
or
my $ref = $obj->retrieve($fh);
Reads first line of supplied file or filehandle and returns it deserialized.
<<lessSYNOPSIS
use Data::Serializer;
$obj = Data::Serializer->new();
$obj = Data::Serializer->new(
serializer => Storable,
digester => MD5,
cipher => DES,
secret => my secret,
compress => 1,
);
$serialized = $obj->serialize({a => [1,2,3],b => 5});
$deserialized = $obj->deserialize($serialized);
print "$deserialized->{b}n";
Provides a unified interface to the various serializing modules currently available. Adds the functionality of both compression and encryption.
EXAMPLES
Please see Data::Serializer::Cookbook(3)
METHODS
new - constructor
$obj = Data::Serializer->new();
$obj = Data::Serializer->new(
serializer => Data::Dumper,
digester => SHA-256,
cipher => Blowfish,
secret => undef,
portable => 1,
compress => 0,
serializer_token => 1,
options => {},
);
new is the constructor object for Data::Serializer objects.
The default serializer is Data::Dumper
The default digester is SHA-256
The default cipher is Blowfish
The default secret is undef
The default portable is 1
The default encoding is hex
The default compress is 0
The default compressor is Compress::Zlib
The default serializer_token is 1
The default options is {} (pass nothing on to serializer)
serialize - serialize reference
$serialized = $obj->serialize({a => [1,2,3],b => 5});
Serializes the reference specified.
Will compress if compress is a true value.
Will encrypt if secret is defined.
deserialize - deserialize reference
$deserialized = $obj->deserialize($serialized);
Reverses the process of serialization and returns a copy of the original serialized reference.
freeze - synonym for serialize
$serialized = $obj->freeze({a => [1,2,3],b => 5});
thaw - synonym for deserialize
$deserialized = $obj->thaw($serialized);
raw_serialize - serialize reference in raw form
$serialized = $obj->raw_serialize({a => [1,2,3],b => 5});
This is a straight pass through to the underlying serializer, nothing else is done. (no encoding, encryption, compression, etc)
raw_deserialize - deserialize reference in raw form
$deserialized = $obj->raw_deserialize($serialized);
This is a straight pass through to the underlying serializer, nothing else is done. (no encoding, encryption, compression, etc)
secret - specify secret for use with encryption
$obj->secret(mysecret);
Changes setting of secret for the Data::Serializer object. Can also be set in the constructor. If specified than the object will utilize encryption.
portable - encodes/decodes serialized data
Uses encoding method to ascii armor serialized data
Aids in the portability of serialized data.
compress - compression of data
Compresses serialized data. Default is not to use it. Will compress if set to a true value $obj->compress(1);
serializer - change the serializer
Currently have 8 supported serializers: Storable, FreezeThaw, Data::Denter, Config::General, YAML, PHP::Serialization, XML::Dumper, and Data::Dumper.
Default is to use Data::Dumper.
Each serializer has its own caveats about usage especially when dealing with cyclical data structures or CODE references. Please see the appropriate documentation in those modules for further information.
cipher - change the cipher method
Utilizes Crypt::CBC and can support any cipher method that it supports.
digester - change digesting method
Uses Digest so can support any digesting method that it supports. Digesting function is used internally by the encryption routine as part of data verification.
compressor - changes compresing module
This method is included for possible future inclusion of alternate compression method Currently Compress::Zlib is the only supported compressor.
encoding - change encoding method
Encodes data structure in ascii friendly manner. Currently the only valid options are hex, or b64.
The b64 option uses Base64 encoding provided by MIME::Base64, but strips out newlines.
serializer_token - add usage hint to data
Data::Serializer prepends a token that identifies what was used to process its data. This is used internally to allow runtime determination of how to extract Serialized data. Disabling this feature is not recommended.
options - pass options through to underlying serializer
Currently is only supported by Config::General, and XML::Dumper.
my $obj = Data::Serializer->new(serializer => Config::General,
options => {
-LowerCaseNames => 1,
-UseApacheInclude => 1,
-MergeDuplicateBlocks => 1,
-AutoTrue => 1,
-InterPolateVars => 1
},
) or die "$!n";
or
my $obj = Data::Serializer->new(serializer => XML::Dumper,
options => { dtd => 1, }
) or die "$!n";
store - serialize data and write it to a file (or file handle)
$obj->store({a => [1,2,3],b => 5},$file, [$mode, $perm]);
or
$obj->store({a => [1,2,3],b => 5},$fh);
Serializes the reference specified using the serialize method and writes it out to the specified file or filehandle.
If a file path is specified you may specify an optional mode and permission as the next two arguments. See IO::File for examples.
Trips an exception if it is unable to write to the specified file.
retrieve - read data from file (or file handle) and return it after deserialization
my $ref = $obj->retrieve($file);
or
my $ref = $obj->retrieve($fh);
Reads first line of supplied file or filehandle and returns it deserialized.
Download (0.025MB)
Added: 2007-07-12 License: Perl Artistic License Price:
834 downloads
phpass 0.1
phpass is a portable PHP password hashing framework. more>>
phpass is a portable PHP password hashing framework.
This is a portable public domain password hashing framework for use in PHP applications. It is meant to work with PHP 3 and above, and it has actually been tested with PHP 3.0.18, 4.3.x, 4.4.x, and 5.0.x so far.
The preferred (most secure) hashing method supported by phpass is the OpenBSD-style Blowfish-based bcrypt, also supported with our public domain crypt_blowfish package (for C applications), and known in PHP as CRYPT_BLOWFISH, with a fallback to BSDI-style extended DES-based hashes, known in PHP as CRYPT_EXT_DES, and a last resort fallback to an MD5-based variable iteration count password hashing method implemented in phpass itself.
To ensure that the fallbacks will never occur, the PHP Hardening-Patch may be used. The Hardening-Patch integrates crypt_blowfish into the PHP interpreter such that bcrypt is available for use by PHP scripts even if the host system lacks support for it. Hopefully, future versions of PHP will do the same.
Included in the package are a PHP source file implementing the PasswordHash PHP class, a tiny PHP application demonstrating the use of the PasswordHash class, and a C re-implementation of the last resort password hashing method (used for testing the correctness of the primary implementation only).
Enhancements:
- The framework test program has been enhanced in numerous ways, and a minor bug which had no practical impact in the framework itself has been fixed.
<<lessThis is a portable public domain password hashing framework for use in PHP applications. It is meant to work with PHP 3 and above, and it has actually been tested with PHP 3.0.18, 4.3.x, 4.4.x, and 5.0.x so far.
The preferred (most secure) hashing method supported by phpass is the OpenBSD-style Blowfish-based bcrypt, also supported with our public domain crypt_blowfish package (for C applications), and known in PHP as CRYPT_BLOWFISH, with a fallback to BSDI-style extended DES-based hashes, known in PHP as CRYPT_EXT_DES, and a last resort fallback to an MD5-based variable iteration count password hashing method implemented in phpass itself.
To ensure that the fallbacks will never occur, the PHP Hardening-Patch may be used. The Hardening-Patch integrates crypt_blowfish into the PHP interpreter such that bcrypt is available for use by PHP scripts even if the host system lacks support for it. Hopefully, future versions of PHP will do the same.
Included in the package are a PHP source file implementing the PasswordHash PHP class, a tiny PHP application demonstrating the use of the PasswordHash class, and a C re-implementation of the last resort password hashing method (used for testing the correctness of the primary implementation only).
Enhancements:
- The framework test program has been enhanced in numerous ways, and a minor bug which had no practical impact in the framework itself has been fixed.
Download (0.004MB)
Added: 2006-09-08 License: GPL (GNU General Public License) Price:
1144 downloads
NOTE 1.3.1
NOTE provides a console note management tool. more>>
NOTE provides a console note management tool.
NOTE is a small console program that allows you to manage notes similar to programs like "knotes" from the command line. It supports different database backends for storage, and includes a DBI-based MySQL module and another module that uses a binary file for storage and a DBM module.
Main features:
- Several different database backends, mysql(DBI), dbm, binary(bin file), general and text (text files).
- Commandline interface using the standard perl module etopt::Long, which allows you tuse short or long command-line options.
- Interactive interface(pure ascii), the following functions are available in interactive mode: list, display, topic, delete, edit, help.
- Highly confiurable using a perlish configfile ~/.noterc. although it is configurable it is not required, note can run without a configfile using useful default presets.
- Colourized output is supported using ASCII Escape-Sequences.
- The user can customize the color for each item.
- Data can be stored in various different database backends, since all database access is excluded from the program itself in perl modules.
- Notes can be deleted, edited and you can search trough your notes.
- Notes can be categorized. Each category(topic) can contain multiple notes and even more sup-topics. There is nlimitation about sub topics.
- You can view all notes in a list and it is possible only tview notes under a certain topic.
- There is a tree-view, which allows you tget an overview of your topic-hierarchy.
- Notes can be encrypted using DES or IDEA algorythms and Crypt::CBC.
- You can dump the contents of your note database inta plain text file, which can later be imported. Imports can be appended or it can overwrite an existing database (-o).
- Note has scripting capabilities, you can create a new note by piping another commands output tnote, you can alsimport a notedump from stdin as well es duming tstdout instead a file. Additional, there is an option --raw available, which prints everything out completely without formatting.
- for better performance, note can cache the database for listings or searching.
- It can be installed without root-privileges.
- if Term::ReadLine (and Term::ReadLine::Gnu) is installed, history and auto-completion are supported in interactive mode.
- Last, a while aga user stated: "... it simply does, what it says ..."
<<lessNOTE is a small console program that allows you to manage notes similar to programs like "knotes" from the command line. It supports different database backends for storage, and includes a DBI-based MySQL module and another module that uses a binary file for storage and a DBM module.
Main features:
- Several different database backends, mysql(DBI), dbm, binary(bin file), general and text (text files).
- Commandline interface using the standard perl module etopt::Long, which allows you tuse short or long command-line options.
- Interactive interface(pure ascii), the following functions are available in interactive mode: list, display, topic, delete, edit, help.
- Highly confiurable using a perlish configfile ~/.noterc. although it is configurable it is not required, note can run without a configfile using useful default presets.
- Colourized output is supported using ASCII Escape-Sequences.
- The user can customize the color for each item.
- Data can be stored in various different database backends, since all database access is excluded from the program itself in perl modules.
- Notes can be deleted, edited and you can search trough your notes.
- Notes can be categorized. Each category(topic) can contain multiple notes and even more sup-topics. There is nlimitation about sub topics.
- You can view all notes in a list and it is possible only tview notes under a certain topic.
- There is a tree-view, which allows you tget an overview of your topic-hierarchy.
- Notes can be encrypted using DES or IDEA algorythms and Crypt::CBC.
- You can dump the contents of your note database inta plain text file, which can later be imported. Imports can be appended or it can overwrite an existing database (-o).
- Note has scripting capabilities, you can create a new note by piping another commands output tnote, you can alsimport a notedump from stdin as well es duming tstdout instead a file. Additional, there is an option --raw available, which prints everything out completely without formatting.
- for better performance, note can cache the database for listings or searching.
- It can be installed without root-privileges.
- if Term::ReadLine (and Term::ReadLine::Gnu) is installed, history and auto-completion are supported in interactive mode.
- Last, a while aga user stated: "... it simply does, what it says ..."
Download (0.041MB)
Added: 2007-02-07 License: GPL (GNU General Public License) Price:
995 downloads
TCFS 3.0b2
TCFS is a transparent cryptographic file system. more>>
TCFS project is a cryptographic network file system featuring group sharing of encrypted files. TCFS will encrypt your files before sending them to the file server and will decrypt them before they are read by the requesting application.
Because the encryption/decryption process takes place on the client host, no clean data will travel the network. This is particularly valid for the encryption key.
Recent advances in hardware and communication technologies have made possible and cost effective to share a file system among several machines over a local (but possibly also a wide) area network.
One of the most successful and widely used such applications is Suns Network File System (NFS).
NFS is very simple in structure but assumes a very strong trust model: the user trusts the remote file system server (which might be running on a machine in different country) and a network with his/her data. It is easy to see that neither assumption is a very realistic one.
The server (or anybody with superuser privileges) might very well read the data on its local filesytem and it is well known that the Internet or any local area network (e.g, Ethernet) is very easy to tap (see for example, Berkeleys tcpdump application program).
Impersonification of users is also another security drawback of NFS.
In fact, most of the permission checking over NFS are performed in the kernel of the client. In such a context a pirate can temporarely assign to his own workstation the Internet address of victim. Without secure RPC no further authentication procedure is requested. From here on, the pirate can issue NFS requests presenting himself with any (false) uid and therefore accessing for reading and writing any private data on the server, even protected data.
Given the above, a user seeking a certain level of security should take some measures. We propose a new cryptographic file system, which we call TCFS, as a suitable solution to the problem of privacy for distributed file system.
Dynamic Encryption Modules in TCFS:
The dynamic encryption module feature of TCFS allows a user to specify the encryption engine of his/her choiche to be used by TCFS. So you are not forced anymore to use what us (the developer) consider the best (i.e., more secure and efficient) encryption algorithm. The encryption engine must be given in the form of a Linux module and must conform to (the very simple) TCFS API for encryption module. Essentially, it must specify four functions:
1. An initialization function that is called by TCFS when the user pushes her key into TCFS.
Typically the initialization function takes as input the key and returns a pointer to a struct containing a the result of a preprocessing of the key to be used for the encryption and the decryption.
For the specific case of DES the initialization function computes the 16 48-bit subkeys, one for each round of DES.
2. An encryption function which takes a block of data, the length of the block in bytes and the result of the initialization function and encrypts the data.
3. A decryption function which takes a block of data, the length of the block in bytes and the result of the initialization function and decrypts the data.
The encryption and the decryption functions are called each time TCFS needs to read/write a block of data.
4. A cleanup function which performs whatever operation is needed before the key removed by TCFS.
Our work improves on Matt Blazes CFS by providing deeper integration between the encryption service and the file system which results in a complete transparency of use to the user applications.
Release 2.2 of TCFS includes the possibility of threshold sharing files among users. Threshold sharing consists in specifying a minimum number of members (the threshold) that need to be ``active for the files owned by the group to become available.
TCFS enforces the threshold sharing by generating an encryption key for each group and giving each member of the group a share using a Threshold Secret Sharing Scheme. The group encryption key can be reconstructed by any set of at least threshold keys.
A member of the group that intends to become active does so by pushing her/his share of the group key into the kernel. The TCFS module checks if the number of shares available is above the threshold and, if it is so, it attempts to reconstruct the group encryption key. By the properties of the Threshold Secret Sharing Scheme, it is guaranteed that, if enough shares are available, the group encryption key is correctly reconstructed.
Once the group encryption key has been reconstructed, the files owned by the group become accessible. Each time a member decides to become inactive, her share of the group encryption key is removed. The TCFS module checks if the number of shares available has gone under the threshold. In this case, the group encryption key is removed from the TCFS module and files owned by the group become unaccessible.
The current TCFS implementation of the group sharing facility requires each memeber to trust the kernel of the machine that reconstructs the key to actually remove the key once the number of active users goes below the threshold. Future implementations will remove this requirement by performing the reconstruction of the key in a distributed manner.
<<lessBecause the encryption/decryption process takes place on the client host, no clean data will travel the network. This is particularly valid for the encryption key.
Recent advances in hardware and communication technologies have made possible and cost effective to share a file system among several machines over a local (but possibly also a wide) area network.
One of the most successful and widely used such applications is Suns Network File System (NFS).
NFS is very simple in structure but assumes a very strong trust model: the user trusts the remote file system server (which might be running on a machine in different country) and a network with his/her data. It is easy to see that neither assumption is a very realistic one.
The server (or anybody with superuser privileges) might very well read the data on its local filesytem and it is well known that the Internet or any local area network (e.g, Ethernet) is very easy to tap (see for example, Berkeleys tcpdump application program).
Impersonification of users is also another security drawback of NFS.
In fact, most of the permission checking over NFS are performed in the kernel of the client. In such a context a pirate can temporarely assign to his own workstation the Internet address of victim. Without secure RPC no further authentication procedure is requested. From here on, the pirate can issue NFS requests presenting himself with any (false) uid and therefore accessing for reading and writing any private data on the server, even protected data.
Given the above, a user seeking a certain level of security should take some measures. We propose a new cryptographic file system, which we call TCFS, as a suitable solution to the problem of privacy for distributed file system.
Dynamic Encryption Modules in TCFS:
The dynamic encryption module feature of TCFS allows a user to specify the encryption engine of his/her choiche to be used by TCFS. So you are not forced anymore to use what us (the developer) consider the best (i.e., more secure and efficient) encryption algorithm. The encryption engine must be given in the form of a Linux module and must conform to (the very simple) TCFS API for encryption module. Essentially, it must specify four functions:
1. An initialization function that is called by TCFS when the user pushes her key into TCFS.
Typically the initialization function takes as input the key and returns a pointer to a struct containing a the result of a preprocessing of the key to be used for the encryption and the decryption.
For the specific case of DES the initialization function computes the 16 48-bit subkeys, one for each round of DES.
2. An encryption function which takes a block of data, the length of the block in bytes and the result of the initialization function and encrypts the data.
3. A decryption function which takes a block of data, the length of the block in bytes and the result of the initialization function and decrypts the data.
The encryption and the decryption functions are called each time TCFS needs to read/write a block of data.
4. A cleanup function which performs whatever operation is needed before the key removed by TCFS.
Our work improves on Matt Blazes CFS by providing deeper integration between the encryption service and the file system which results in a complete transparency of use to the user applications.
Release 2.2 of TCFS includes the possibility of threshold sharing files among users. Threshold sharing consists in specifying a minimum number of members (the threshold) that need to be ``active for the files owned by the group to become available.
TCFS enforces the threshold sharing by generating an encryption key for each group and giving each member of the group a share using a Threshold Secret Sharing Scheme. The group encryption key can be reconstructed by any set of at least threshold keys.
A member of the group that intends to become active does so by pushing her/his share of the group key into the kernel. The TCFS module checks if the number of shares available is above the threshold and, if it is so, it attempts to reconstruct the group encryption key. By the properties of the Threshold Secret Sharing Scheme, it is guaranteed that, if enough shares are available, the group encryption key is correctly reconstructed.
Once the group encryption key has been reconstructed, the files owned by the group become accessible. Each time a member decides to become inactive, her share of the group encryption key is removed. The TCFS module checks if the number of shares available has gone under the threshold. In this case, the group encryption key is removed from the TCFS module and files owned by the group become unaccessible.
The current TCFS implementation of the group sharing facility requires each memeber to trust the kernel of the machine that reconstructs the key to actually remove the key once the number of active users goes below the threshold. Future implementations will remove this requirement by performing the reconstruction of the key in a distributed manner.
Download (0.085MB)
Added: 2007-04-12 License: GPL (GNU General Public License) Price:
927 downloads
Sympa 5.3.2
Sympa is a scalable and highly customizable mailing list software. more>>
Sympa is a scalable and highly customizable mailing list software. Sympa can cope with big lists (780,000 subscribers), and it comes with a complete Web interface for both the user and the administrator. It is internationalized.
Sites can customize Web and mail templates, authentication backends, and authorization scenarios. Dynamic mailing lists can use multiple backends (LDAP, SQL, files, lists, or others).
Sympa is the only S/MIME enabled mailing list software, and it provides both authentication and encryption.
<<lessSites can customize Web and mail templates, authentication backends, and authorization scenarios. Dynamic mailing lists can use multiple backends (LDAP, SQL, files, lists, or others).
Sympa is the only S/MIME enabled mailing list software, and it provides both authentication and encryption.
Download (3.7MB)
Added: 2007-06-14 License: GPL (GNU General Public License) Price:
865 downloads
Ezail 0.3.2
Ezail provides an application for securely transferring files of any size. more>>
Ezail provides an application for securely transferring files of any size.
ezail is an application for securely transferring files of any size through the Internet.
Files are sent directly from senders to recipients without servers, with no limits on attachment sizes, no mailbox quotas, and no bounced messages.
Unlike email, the identity of senders and recipients is authenticated by signed certificates. Files sent are encrypted end-to-end with the Triple-DES algorithm.
<<lessezail is an application for securely transferring files of any size through the Internet.
Files are sent directly from senders to recipients without servers, with no limits on attachment sizes, no mailbox quotas, and no bounced messages.
Unlike email, the identity of senders and recipients is authenticated by signed certificates. Files sent are encrypted end-to-end with the Triple-DES algorithm.
Download (0.58MB)
Added: 2007-04-27 License: Freeware Price:
910 downloads
yaSSL 1.6.8
yaSSL is an SSL Library for programmers building security functionality into their applications and devices. more>>
yaSSL is an SSL Library for programmers building security functionality into their applications and devices.
yaSSL has a dual licensing model, like MySQL, so it is available under GPL and commercial licenses. Support and consulting are also available for yaSSL.
Main features:
- SSL version 3 and TLS version 1 (client and server)
- OpenSSL compatibility layer
- MySQL integration
- Initial stunnel integration
- MD2, MD5, SHA-1, RIPEMD, HMAC, DES, 3DES, AES, ARC4, TWOFISH, BLOWFISH, RSA, DSS, DH, and PKCS#5 PBKDF2
- Simple API
- Interchangeable crypto and certificate libraries
- PEM and DER certificate support
- Very fast
- Multiple OS support: Win32, Linux, Solaris, FreeBSD, NetBSD, OpenBSD, and Mac OS X
Enhancements:
- This release of contains bugfixes and adds SHA-256, SHA-512, SHA-224, and SHA-384.
<<lessyaSSL has a dual licensing model, like MySQL, so it is available under GPL and commercial licenses. Support and consulting are also available for yaSSL.
Main features:
- SSL version 3 and TLS version 1 (client and server)
- OpenSSL compatibility layer
- MySQL integration
- Initial stunnel integration
- MD2, MD5, SHA-1, RIPEMD, HMAC, DES, 3DES, AES, ARC4, TWOFISH, BLOWFISH, RSA, DSS, DH, and PKCS#5 PBKDF2
- Simple API
- Interchangeable crypto and certificate libraries
- PEM and DER certificate support
- Very fast
- Multiple OS support: Win32, Linux, Solaris, FreeBSD, NetBSD, OpenBSD, and Mac OS X
Enhancements:
- This release of contains bugfixes and adds SHA-256, SHA-512, SHA-224, and SHA-384.
Download (0.51MB)
Added: 2007-04-19 License: GPL (GNU General Public License) Price:
920 downloads
Sanos 1.3.3
Sanos is a minimalistic 32-bit x86 OS kernel for network server appliances running on standard PC hardware. more>>
Sanos is a minimalistic 32-bit x86 OS kernel for Java based server appliances running on standard PC hardware.
This enables you to run java server applications without the need to install a traditional host operating system like Windows or Linux. Only a standard Java HotSpot VM and the sanos kernel are needed.
The kernel was developed as part of an experiment on investigating the feasibility of running java server applications without a traditional operating system only using a simple kernel.
The kernel implements basic operating system services like booting, memory management, thread scheduling, local and remote file systems, TCP/IP networking and DLL loading and linking.
A win32 layer allows the Windows version of the standard HotSpot JVM to run under sanos, essentially providing a JavaOS platform for server applications. This enables you to run java based server applications, like tomcat and jboss, under sanos.
Alternatively, you can use sanos as a small kernel for embedded server applications written in C. Sanos has a fairly standard POSIX based API and an ANSI Standard C library. In this case you dont need the JVM and the win32 wrappers.
Sanos is open source under a BSD style license. Please see the COPYING file for details.
Click on the topics below for further information, or send me an e-mail if you have any questions, comments or problems regarding sanos. Please include the word sanos in the mail to prevent it from being intercepted by my spam filter.
Sanos can be downloaded as either binary or source. All the files in the binary version can be built from the source version, so you do not need the binary version, if you are building sanos from source.
The binary version contains the compiled version of sanos, with files and utilities for making a boot disk.
The source version contains all the source code and build files for building sanos from source. You will need a Microsoft Visual C compiler to build sanos from source.
Enhancements:
- GetLogicalDrives() in kernel32 implemented.
- A bug in cmd_ipconfig() in sh.c prevented proper display of network configuration if no DNS servers was configured. This problem has been fixed. (FGA)
- New -a option added to mkdfs to support file lists with alternative files names. This simplifies configurations with both debug and release builds.
- The Visual Studio wizard can now generate a floppy disk boot image configured for the application.
- Shell prompt can be configured by setting the prompt property in the [shell] section of the os.ini file.
- If command line arguments are given to the shell it now executes the built-in command and exits the shell.
- The floppy motor timeout routine now acquires the floppy mutex before turning off the motor in order to prevent race conditions.
- Advanced Power Management (APM) support implemented. The computer can now be powered off after os shutdown. The mode parameter for exitos() can be used to specify the shutdown mode (halt, reboot, poweroff, debug). A shutdown command has been added to the shell. The power status can be retrieved using /proc/apm.
- Added /proc/cpu for CPU information.
- The raise() function now returns an error if the signal number is invalid.
- Breakpoint traps are now sent to the user mode signal handler. This allows breakpoints to be handled by user mode code.
- Signals now exits the currently executing job with the signal number as exit code. However, if the debug flag in the PEB is set the debugger is entered if an unhandled signal is encountered. The debug flag can be set using the debug command in the shell. The debug flag can be configured using the debug property in the [os] section of os.ini. The default value of the debug flag is 0, unless the system is build in debug configuration.
- readv() and writev() implemented in vfs.
- The kernel log is now implemented by the device driver /dev/klog. The kernel log now support ioctl for waiting for new log entries in the kernel log. The kprintf has been extended to support different log levels.
- The syslog interface has been redesigned in to comply with POSIX. The syslog now supports logging to a syslog server by setting the loghost property in the [os] section of os.ini.
- New klog daemon to read entries from the kernel log (/dev/klog) and add them to the system log.
- The sockaddr and sockaddr_in structures has been change to conform to winsock definitions.
- The sleep() function has been renamed to msleep(). A new POSIX conformant sleep function has been added to unistd.h.
- Added sys/time.h header file. Also added tzp parameter to gettimeofday() for POSIX compliance.
- New simple text editor utility (edit.exe) added.
- The syserror() function has been moved from libc.lib to the os.dll as an exported os api call.
- readline() now uses stdin and stdout for input and output.
- Bug in iomux fixed. Now a monitored event signals the iomux and not the associated object.
- Implemented popen() and pclose(). Also added a P_SUSPEND parameter to spawn() to allow new jobs to be started suspended.
- The kernel version information is now kept in a version resource in krnl.dll. The version information is retrieved using the new module version information functions in verinfo.c.
- The build type can now be controlled by compile time switches. The kernel version can be displayed in the Windows Explorer by viewing Properties for krnl.dll and selecting the Version tab.
- User management added to kernel. Each thread is now assigned to a user and a group. A thread has both a real and an effective user and group owner. The {get|set}[e]{uid|gid}() functions can be used to change the effective and real user and group for a thread. When a new thread is created the effective user and group are inherited from the creator thread.
- Added functions to query /etc/passwd and /etc/group files.
- New whoami, id, chmod, and chown commands added to shell. The format of the output from ls has been changed to display the file permission info.
- New file system version for DFS. The new version supports user and group owner for files and directories as well as permission bits. The new DFS version also supports files larger than 2GB. The fchown() and chown() functions has been added to vfs.
- DES-based crypt() implementation added.
- The spawn() function now computes the pgm parameter from the cmdline parameter if the pgm parameter is NULL. The initpgm and initargs properties in the [os] section of /etc/os.ini has been replaced with a single property named init. The default for init has been changed to /bin/sh.
- The behavour of the initial application has been changed. Previously the os shut down after the initial application exited. Now the initial application is executed again if it exits.
- Telnet daemon moved from the shell to separate server (telnetd.exe). The new telnet daemon has a more robust handling of the telnet protocol. The telnet daemon invokes the new login utlity in order to log on user.
- FTP daemon implemented.
<<lessThis enables you to run java server applications without the need to install a traditional host operating system like Windows or Linux. Only a standard Java HotSpot VM and the sanos kernel are needed.
The kernel was developed as part of an experiment on investigating the feasibility of running java server applications without a traditional operating system only using a simple kernel.
The kernel implements basic operating system services like booting, memory management, thread scheduling, local and remote file systems, TCP/IP networking and DLL loading and linking.
A win32 layer allows the Windows version of the standard HotSpot JVM to run under sanos, essentially providing a JavaOS platform for server applications. This enables you to run java based server applications, like tomcat and jboss, under sanos.
Alternatively, you can use sanos as a small kernel for embedded server applications written in C. Sanos has a fairly standard POSIX based API and an ANSI Standard C library. In this case you dont need the JVM and the win32 wrappers.
Sanos is open source under a BSD style license. Please see the COPYING file for details.
Click on the topics below for further information, or send me an e-mail if you have any questions, comments or problems regarding sanos. Please include the word sanos in the mail to prevent it from being intercepted by my spam filter.
Sanos can be downloaded as either binary or source. All the files in the binary version can be built from the source version, so you do not need the binary version, if you are building sanos from source.
The binary version contains the compiled version of sanos, with files and utilities for making a boot disk.
The source version contains all the source code and build files for building sanos from source. You will need a Microsoft Visual C compiler to build sanos from source.
Enhancements:
- GetLogicalDrives() in kernel32 implemented.
- A bug in cmd_ipconfig() in sh.c prevented proper display of network configuration if no DNS servers was configured. This problem has been fixed. (FGA)
- New -a option added to mkdfs to support file lists with alternative files names. This simplifies configurations with both debug and release builds.
- The Visual Studio wizard can now generate a floppy disk boot image configured for the application.
- Shell prompt can be configured by setting the prompt property in the [shell] section of the os.ini file.
- If command line arguments are given to the shell it now executes the built-in command and exits the shell.
- The floppy motor timeout routine now acquires the floppy mutex before turning off the motor in order to prevent race conditions.
- Advanced Power Management (APM) support implemented. The computer can now be powered off after os shutdown. The mode parameter for exitos() can be used to specify the shutdown mode (halt, reboot, poweroff, debug). A shutdown command has been added to the shell. The power status can be retrieved using /proc/apm.
- Added /proc/cpu for CPU information.
- The raise() function now returns an error if the signal number is invalid.
- Breakpoint traps are now sent to the user mode signal handler. This allows breakpoints to be handled by user mode code.
- Signals now exits the currently executing job with the signal number as exit code. However, if the debug flag in the PEB is set the debugger is entered if an unhandled signal is encountered. The debug flag can be set using the debug command in the shell. The debug flag can be configured using the debug property in the [os] section of os.ini. The default value of the debug flag is 0, unless the system is build in debug configuration.
- readv() and writev() implemented in vfs.
- The kernel log is now implemented by the device driver /dev/klog. The kernel log now support ioctl for waiting for new log entries in the kernel log. The kprintf has been extended to support different log levels.
- The syslog interface has been redesigned in to comply with POSIX. The syslog now supports logging to a syslog server by setting the loghost property in the [os] section of os.ini.
- New klog daemon to read entries from the kernel log (/dev/klog) and add them to the system log.
- The sockaddr and sockaddr_in structures has been change to conform to winsock definitions.
- The sleep() function has been renamed to msleep(). A new POSIX conformant sleep function has been added to unistd.h.
- Added sys/time.h header file. Also added tzp parameter to gettimeofday() for POSIX compliance.
- New simple text editor utility (edit.exe) added.
- The syserror() function has been moved from libc.lib to the os.dll as an exported os api call.
- readline() now uses stdin and stdout for input and output.
- Bug in iomux fixed. Now a monitored event signals the iomux and not the associated object.
- Implemented popen() and pclose(). Also added a P_SUSPEND parameter to spawn() to allow new jobs to be started suspended.
- The kernel version information is now kept in a version resource in krnl.dll. The version information is retrieved using the new module version information functions in verinfo.c.
- The build type can now be controlled by compile time switches. The kernel version can be displayed in the Windows Explorer by viewing Properties for krnl.dll and selecting the Version tab.
- User management added to kernel. Each thread is now assigned to a user and a group. A thread has both a real and an effective user and group owner. The {get|set}[e]{uid|gid}() functions can be used to change the effective and real user and group for a thread. When a new thread is created the effective user and group are inherited from the creator thread.
- Added functions to query /etc/passwd and /etc/group files.
- New whoami, id, chmod, and chown commands added to shell. The format of the output from ls has been changed to display the file permission info.
- New file system version for DFS. The new version supports user and group owner for files and directories as well as permission bits. The new DFS version also supports files larger than 2GB. The fchown() and chown() functions has been added to vfs.
- DES-based crypt() implementation added.
- The spawn() function now computes the pgm parameter from the cmdline parameter if the pgm parameter is NULL. The initpgm and initargs properties in the [os] section of /etc/os.ini has been replaced with a single property named init. The default for init has been changed to /bin/sh.
- The behavour of the initial application has been changed. Previously the os shut down after the initial application exited. Now the initial application is executed again if it exits.
- Telnet daemon moved from the shell to separate server (telnetd.exe). The new telnet daemon has a more robust handling of the telnet protocol. The telnet daemon invokes the new login utlity in order to log on user.
- FTP daemon implemented.
Download (0.38MB)
Added: 2005-10-21 License: GPL (GNU General Public License) Price:
1466 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 des 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