java cryptography api
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3619
Java Binary Enhancement Tool 3 R1
Java Binary Enhancement Tool is a Java assembler, dissassembler, and binary editor. more>>
The Java Binary Enhancement Tool (JBET) is a general Java program analysis and manipulation tool. Existing class files can be disassembled, reassembled, or edited programmatically through the JBET API. JBET can also be used to create new Java class files from scratch. JBET uses a convenient internal representation of all the contents of Java binary (.class) files, allowing the user to edit the classes easily, in a structured manner.
JBET was developed as part of the DARPA Self-Protecting Mobile Agents project under the OASIS and Active Networks programs (contract number N66001-00-C-8602) in order to study automated software obfuscation.
The Java language was chosen for this project because of the (relative) ease of constructing binary editing tools provided by the large amount of type information present in the class files. Our two reports, the Obfuscation Techniques Evaluation Report, and the Obfuscation Report, are available from the download area. The obfuscation tool developed is not part of this release.
JBET was also used in the DARPA/AFRL Survivable Server project (contract number F30602-00-C-0183) to add additional security checks to the Java Standard Library. (The Java SecurityManager API does not support many desirable security checks, such as continued authorization of file accesses after opening.)
JBET was used to replace the native method references in the Java standard library with stubs that call a pluggable security policy. This tool, called Jpolicy, is also available for download at this website. Jpolicy is very incomplete at this time, but may be interesting to those working in Java security or changing the standard library themselves.
The internal representation of Java class files used by JBET is intented to make it easy for programmers to write Java binary code transforms. Each element of Java class files has a corresponding internal data structure: ClassInfo for entire classes, MethodInfo for methods, FieldInfo for fields, Snippit for code blocks, and Instruction for individual instructions. Snippit and Instruction understand Java opcode syntax and semantics, allowing automated creation of valid Java programs. A Java-compatible class verifier is also included.
Some code transforms are difficult to program directly by manipulating Java instructions. For those transforms, a directed acyclic graph (DAG) representation of code is available. In the DAG representation, each basic block has a corresponding DAG, with a set of input and output nodes. Edges in the graph connect "producer" nodes (such as constants, or the result of calculations) to "user" nodes (such as method calls or other calculations). Methods are divided into basic blocks and control flow is stored at the basic block level (possible because Java has only fixed jump targets)
JBET requires a Java 1.4 virtual machine to run, although it can operate on class files from earlier Java versions. The packaging and build environment supplied supports Linux and Windows with Cygwin; however, the build process is simple and could be performed manually on other platforms. Perl is required for regression testing.
Jpolicy requires a Java 1.4 virtual machine to build, either Linux or Windows NT/XP with Cygwin. gcc is required for building on Windows (supplied with Cygwin). The runtime system can be either Java 1.3 or 1.4 (with Suns JVM only), running on Linux or Windows NT/XP. Windows 9x and Windows 2000 may work as well, but have not been tested.
Installation
1. Install jdk 1.4.1.
2. Set CLASSPATH to jdk1.4.1/jre/lib/rt.jar
3. cd src; make
4. If that didnt work, examine the makefile. java or javac may not be in the path.
5. To build a jar file that can be used with "java -jar jbet.jar", run "make jar".
6. If you have perl installed, run the tests with "make test".
Optionally, run "make regen; make test".
Make a symbolic link from jbet3/bin/jbet to somewhere in your path.
Usage
JBET uses the JNI format for class names, and JNI type and method descriptors. For a summary of this syntax, use jbet help syntax. Suns JVM specification may also be helpful.
To look at a class disassembly, use jbet print. Try disassembling a class you have source for, and was built with debug info (-g): jbet -P < classpath > print < classname >. Suns JVM specification has an instruction reference.
<<lessJBET was developed as part of the DARPA Self-Protecting Mobile Agents project under the OASIS and Active Networks programs (contract number N66001-00-C-8602) in order to study automated software obfuscation.
The Java language was chosen for this project because of the (relative) ease of constructing binary editing tools provided by the large amount of type information present in the class files. Our two reports, the Obfuscation Techniques Evaluation Report, and the Obfuscation Report, are available from the download area. The obfuscation tool developed is not part of this release.
JBET was also used in the DARPA/AFRL Survivable Server project (contract number F30602-00-C-0183) to add additional security checks to the Java Standard Library. (The Java SecurityManager API does not support many desirable security checks, such as continued authorization of file accesses after opening.)
JBET was used to replace the native method references in the Java standard library with stubs that call a pluggable security policy. This tool, called Jpolicy, is also available for download at this website. Jpolicy is very incomplete at this time, but may be interesting to those working in Java security or changing the standard library themselves.
The internal representation of Java class files used by JBET is intented to make it easy for programmers to write Java binary code transforms. Each element of Java class files has a corresponding internal data structure: ClassInfo for entire classes, MethodInfo for methods, FieldInfo for fields, Snippit for code blocks, and Instruction for individual instructions. Snippit and Instruction understand Java opcode syntax and semantics, allowing automated creation of valid Java programs. A Java-compatible class verifier is also included.
Some code transforms are difficult to program directly by manipulating Java instructions. For those transforms, a directed acyclic graph (DAG) representation of code is available. In the DAG representation, each basic block has a corresponding DAG, with a set of input and output nodes. Edges in the graph connect "producer" nodes (such as constants, or the result of calculations) to "user" nodes (such as method calls or other calculations). Methods are divided into basic blocks and control flow is stored at the basic block level (possible because Java has only fixed jump targets)
JBET requires a Java 1.4 virtual machine to run, although it can operate on class files from earlier Java versions. The packaging and build environment supplied supports Linux and Windows with Cygwin; however, the build process is simple and could be performed manually on other platforms. Perl is required for regression testing.
Jpolicy requires a Java 1.4 virtual machine to build, either Linux or Windows NT/XP with Cygwin. gcc is required for building on Windows (supplied with Cygwin). The runtime system can be either Java 1.3 or 1.4 (with Suns JVM only), running on Linux or Windows NT/XP. Windows 9x and Windows 2000 may work as well, but have not been tested.
Installation
1. Install jdk 1.4.1.
2. Set CLASSPATH to jdk1.4.1/jre/lib/rt.jar
3. cd src; make
4. If that didnt work, examine the makefile. java or javac may not be in the path.
5. To build a jar file that can be used with "java -jar jbet.jar", run "make jar".
6. If you have perl installed, run the tests with "make test".
Optionally, run "make regen; make test".
Make a symbolic link from jbet3/bin/jbet to somewhere in your path.
Usage
JBET uses the JNI format for class names, and JNI type and method descriptors. For a summary of this syntax, use jbet help syntax. Suns JVM specification may also be helpful.
To look at a class disassembly, use jbet print. Try disassembling a class you have source for, and was built with debug info (-g): jbet -P < classpath > print < classname >. Suns JVM specification has an instruction reference.
Download (0.19MB)
Added: 2005-03-07 License: BSD License Price:
1697 downloads
Java Brainfuck Compiler 2.0
Java Brainfuck Compiler is an optimising Brainfuck to Java bytecode compiler. more>>
The Java Brainfuck Compiler is a compiler for the uniquely powerful Brainfuck language, which produces Java bytecode that will run on any Java Virtual Machine (with no intermediate steps such as going by way of Java code).
<<less Download (0.010MB)
Added: 2005-04-18 License: GPL (GNU General Public License) Price:
1682 downloads
JXosd 1.0
JXosd is a set of Java bindings for XOSD. more>>
JXosd is a set of Java bindings for XOSD, a library for displaying information on an X display. It supports the display of text, sliders, and percentage bars through JNI. Almost the entire API has been implemented.
<<less Download (0.018MB)
Added: 2005-04-13 License: GPL (GNU General Public License) Price:
1654 downloads
SJPT: Simple Java Parsing Toolkit
SJPT: Simple Java Parsing Toolkit is a simple Java parser toolkit. more>>
SJPT is parsing toolkit that supports both top-down (LL(1) and Simple Precedence) and bottom-up parsing (LR(0), SLR(1), LR(1) and LALR(1)).
The toolkit also supports generating Java parsers for all the bottom-up parsing methods, based on a CUP definition (similar to Yacc and CUP, but not restricted to LALR parsers only). I worked alone on this project for the laboratory on Compilers.
SJPT is free software under the terms of the GNU GPL.
<<lessThe toolkit also supports generating Java parsers for all the bottom-up parsing methods, based on a CUP definition (similar to Yacc and CUP, but not restricted to LALR parsers only). I worked alone on this project for the laboratory on Compilers.
SJPT is free software under the terms of the GNU GPL.
Download (0.26MB)
Added: 2005-04-22 License: GPL (GNU General Public License) Price:
1650 downloads
Secure Java Diary 0.3.0a
Secure Java Diary is a Java Diary with Strong Encryption. more>>
Secure Diary is a Java application that uses the Bouncy Castle JCE to provide strong encryption for your diary.
It stores the entries using blowfish and triple DES. It allows you to enter/view/export diary enteries in multiple diaries.
<<lessIt stores the entries using blowfish and triple DES. It allows you to enter/view/export diary enteries in multiple diaries.
Download (0.82MB)
Added: 2005-04-26 License: GPL (GNU General Public License) Price:
1649 downloads
Skaringa r3p7
Skaringa is an API for Java and XML language binding. more>>
Skaringa is an API for Java and XML language binding.
It transforms Java objects into XML documents and back, and can generate XML schema definitions for a Java class.
Typical applications are data exchange, object persistence, object transformation, and driving XML based presentation layers.
Skaringa is designed for speed and simplicity, supporting a wide range of types. Skaringa works with all Plain Old Java Objects (POJOs), it is not limited to special cases, like JavaBeans.
Enhancements:
- New layout of documentation and website.
- Use SiteBuilder to generate HTML documententation.
<<lessIt transforms Java objects into XML documents and back, and can generate XML schema definitions for a Java class.
Typical applications are data exchange, object persistence, object transformation, and driving XML based presentation layers.
Skaringa is designed for speed and simplicity, supporting a wide range of types. Skaringa works with all Plain Old Java Objects (POJOs), it is not limited to special cases, like JavaBeans.
Enhancements:
- New layout of documentation and website.
- Use SiteBuilder to generate HTML documententation.
Download (0.20MB)
Added: 2005-07-05 License: GPL (GNU General Public License) Price:
1571 downloads
Java Jabber Client 0.0.19
Java Jabber Client is a Jabber client written in Java. more>>
Jabber is an instant messagings system (and a few other things but Ill forget about these for the moment), but it uses XML so its easy to create clients for it, and to link it in with other systems.
As well as that anyone can run a Jabber server, so youre school, university or office could have their own messaging system.
<<lessAs well as that anyone can run a Jabber server, so youre school, university or office could have their own messaging system.
Download (0.13MB)
Added: 2005-09-08 License: GPL (GNU General Public License) Price:
1513 downloads
CryptoServer 1.0
Community CryptoServer is server-side cryptography tool that runs as a daemon. more>>
CryptoServer is OpenSource Server-side cryptography tool and run as daemon.
It is already tested in very busy environment and can support over one million transaction an hour.
CryptoServer accept the GPL License and can use it for any purpose as is.
<<lessIt is already tested in very busy environment and can support over one million transaction an hour.
CryptoServer accept the GPL License and can use it for any purpose as is.
Download (0.063MB)
Added: 2005-10-31 License: GPL (GNU General Public License) Price:
1453 downloads
Java for C++ 0.4
Java for C++ is a tool to generate C++-wrapper-classes for existing Java-classes. more>>
Java for C++ is a tool to generate C++-wrapper-classes for existing Java-classes. This tool reads a list of Java class names and creates source code for C++-classes to wrap them.
The implementation of the wrapper classes uses JNI (Java Native Interface) to call the "real" Java classes.
The C++-API to use these wrapper classes is very close to the API of the original Java classes. So developers of C++-software can use Java-classes as if they have been implemented in C++.
Enhancements:
- A problem where null values for method arguments, method return values, or field values caused some generated code to crash was fixed.
- Updating is strongly encouraged.
<<lessThe implementation of the wrapper classes uses JNI (Java Native Interface) to call the "real" Java classes.
The C++-API to use these wrapper classes is very close to the API of the original Java classes. So developers of C++-software can use Java-classes as if they have been implemented in C++.
Enhancements:
- A problem where null values for method arguments, method return values, or field values caused some generated code to crash was fixed.
- Updating is strongly encouraged.
Download (0.043MB)
Added: 2005-12-22 License: GPL (GNU General Public License) Price:
1404 downloads
Network Virtual Terminal for Java 1.0 Alpha 1
Network Virtual Terminal for Java is a library that can drive a terminal emulator. more>>
Network Virtual Terminal for Java is a library that can drive a terminal emulator connected to the application through a telnet session.
Usage:
The API consists of the interface nvt4j.Terminal . The implementation of this class is called nvt4j.impl.Terminal. To allow the user to connect to the application you need to listen for a tcp connection and then wrap a Terminal object around it:
ServerSocket serverSocket = new ServerSocket(8000);
Socket socket = serverSocket.accept();
Terminal terminal = new nvt4j.impl.Terminal(socket);
For example, to run the sample class Example.java from an xterm session, you can
do this:
user@localhost$ java -classpath nvt4j.jar Example &
user@localhost$ telnet localhost 8000
NVT4J uses the Telnet LINEMODE option to put the terminal driver (xterm in this case) in what the posix standard calls raw or non-canonical mode, so that it can receive all user inputs asap, instead of waiting for a new-line character.
Unfortunately in pure Java there is no way to put the operating system console in
raw mode. On Linux and similar systems this is done using the stty command, which is a native program which manipulates the terminal driver in the operating system.
Whats New in This Release:
First alpha release. This code is quite limited but it already provides the basic functions needed to drive a terminal emulator for Java, namely putting the terminal driver in raw mode, turning off the cursor and client-side echo, and detecting the size of the terminal emulator window.
This code has been tested only with xterm.
<<lessUsage:
The API consists of the interface nvt4j.Terminal . The implementation of this class is called nvt4j.impl.Terminal. To allow the user to connect to the application you need to listen for a tcp connection and then wrap a Terminal object around it:
ServerSocket serverSocket = new ServerSocket(8000);
Socket socket = serverSocket.accept();
Terminal terminal = new nvt4j.impl.Terminal(socket);
For example, to run the sample class Example.java from an xterm session, you can
do this:
user@localhost$ java -classpath nvt4j.jar Example &
user@localhost$ telnet localhost 8000
NVT4J uses the Telnet LINEMODE option to put the terminal driver (xterm in this case) in what the posix standard calls raw or non-canonical mode, so that it can receive all user inputs asap, instead of waiting for a new-line character.
Unfortunately in pure Java there is no way to put the operating system console in
raw mode. On Linux and similar systems this is done using the stty command, which is a native program which manipulates the terminal driver in the operating system.
Whats New in This Release:
First alpha release. This code is quite limited but it already provides the basic functions needed to drive a terminal emulator for Java, namely putting the terminal driver in raw mode, turning off the cursor and client-side echo, and detecting the size of the terminal emulator window.
This code has been tested only with xterm.
Download (0.039MB)
Added: 2006-01-19 License: The Apache License 2.0 Price:
1378 downloads
jBorZoi 0.90
jBorZoi is a Java Elliptic Curve Cryptography Library. more>>
jBorZoi is a Java Elliptic Curve Cryptography Library. jBorZoi implements the following algorithms using elliptic curves defined over finite fields of characteristic 2 (GF2m):
- ECDSA (Elliptic Curve Digital Signature Algorithm)
As specified in ANSI X9.62, FIPS 186-2 and IEEE P1363.
- ECIES (Elliptic Curve Integrated Encryption Scheme)
As specified in ANSI X9.63 and the IEEE P1363a Draft.
- Elliptic Curve Diffie-Hellman Key Agreement Scheme
As specified in ANSI X9.63 and IEEE P1363.
The AES symmetric encryption scheme is also included.
Quick Start
javac jBorZoi_Examples.java
java jBorZoi_Examples
Future Development
Only bug fixes and changes required for compatibility with cryptographic standards will be added between now and the 1.0.0 release.
Comments and Bug Reports
We welcome any comments or bug reports which you may have, however please note that we cannot accept any patches for legal reasons, because the borZoi code is also used in our commercial products.
Enhancements:
- Changed Fq.compareTo(Fq) and Fq.isZero() to public methods.
- Implemented ECDomainParameters.isValid()
- Changed the ECIES.decrypt() RuntimeException to an Exception
- Changed the ECDSA.initSignature(ECPrivKey) Exception to NoSuchAlgorithmException
- Changed the ECDSA.initVerify(ECPubKey) Exception to NoSuchAlgorithmException
<<less- ECDSA (Elliptic Curve Digital Signature Algorithm)
As specified in ANSI X9.62, FIPS 186-2 and IEEE P1363.
- ECIES (Elliptic Curve Integrated Encryption Scheme)
As specified in ANSI X9.63 and the IEEE P1363a Draft.
- Elliptic Curve Diffie-Hellman Key Agreement Scheme
As specified in ANSI X9.63 and IEEE P1363.
The AES symmetric encryption scheme is also included.
Quick Start
javac jBorZoi_Examples.java
java jBorZoi_Examples
Future Development
Only bug fixes and changes required for compatibility with cryptographic standards will be added between now and the 1.0.0 release.
Comments and Bug Reports
We welcome any comments or bug reports which you may have, however please note that we cannot accept any patches for legal reasons, because the borZoi code is also used in our commercial products.
Enhancements:
- Changed Fq.compareTo(Fq) and Fq.isZero() to public methods.
- Implemented ECDomainParameters.isValid()
- Changed the ECIES.decrypt() RuntimeException to an Exception
- Changed the ECDSA.initSignature(ECPrivKey) Exception to NoSuchAlgorithmException
- Changed the ECDSA.initVerify(ECPubKey) Exception to NoSuchAlgorithmException
Download (0.37MB)
Added: 2006-03-15 License: GPL (GNU General Public License) Price:
1373 downloads
OpenGL for Java 2.8.0.8
OpenGL for Java, formerly known as GL4Java, supports Java with a native OpenGL mapping. more>>
OpenGL for Java, formerly known as GL4Java, supports Java with a native OpenGL mapping.
The OS native OpenGL functionality is avaiable from Java for many OS: Linux/GNU+XFree86, Unix/X11, MacOS, Win32.
Enhancements:
- removed the hack (which I put in sometime ago to get VooDoo3 working) that forced gl4java to choose a double buffered pixel format (the demos that used single buffer did not work) (thanks JYB)
- fixed the tessdemo and tesswind applets (thanks JYB).
<<lessThe OS native OpenGL functionality is avaiable from Java for many OS: Linux/GNU+XFree86, Unix/X11, MacOS, Win32.
Enhancements:
- removed the hack (which I put in sometime ago to get VooDoo3 working) that forced gl4java to choose a double buffered pixel format (the demos that used single buffer did not work) (thanks JYB)
- fixed the tessdemo and tesswind applets (thanks JYB).
Download (0.19MB)
Added: 2006-03-17 License: GPL (GNU General Public License) Price:
1337 downloads
jSaluki 0.82
jSaluki is a small easy to use Java Hyperelliptic Curve Cryptography Library. more>>
jSaluki is a small easy to use Java Hyperelliptic Curve Cryptography Library.
Hyperelliptic Curve Cryptography is still an experimental area so this library is only recommended for research and educational purposes.
Real life cryptosystems should use a more proven method such as Elliptic Curve Cryptography.
Quick Start:
javac jSaluki_Example.java
java jSaluki_Example
<<lessHyperelliptic Curve Cryptography is still an experimental area so this library is only recommended for research and educational purposes.
Real life cryptosystems should use a more proven method such as Elliptic Curve Cryptography.
Quick Start:
javac jSaluki_Example.java
java jSaluki_Example
Download (0.12MB)
Added: 2006-03-13 License: GPL (GNU General Public License) Price:
1323 downloads
JBooleanExpression 1.2
JBooleanExpression is a simple Java API to evaluate a Boolean String Expression. more>>
JBooleanExpression is a simple Java API to evaluate a Boolean String Expression like "!true&&false||true" (parse a Boolean String Expression to a boolean primitive type).
Enhancements:
- Bugs were fixed.
- A demo class was added.
<<lessEnhancements:
- Bugs were fixed.
- A demo class was added.
Download (0.014MB)
Added: 2006-03-14 License: Other/Proprietary License with Source Price:
1322 downloads
Ristretto 1.0
Ristretto is the mail API that is used by Columba, a Java mail client. more>>
Ristretto is the mail API that is used by Columba, a Java mail client.
It is available as a stand-alone API, and it provides a well-tested, slim, and fast Java implementation of all relevant mail protocols and features.
It is licensed under a MPL/LGPL/GPL tri-license.
Enhancements:
- Added CramMD5 Authentication
- Separate packages for each protocol
Bugs fixed:
- Zeros padding in server response while authenticaion fixed.
- Java 1.5 import problems for Sasl fixed.
<<lessIt is available as a stand-alone API, and it provides a well-tested, slim, and fast Java implementation of all relevant mail protocols and features.
It is licensed under a MPL/LGPL/GPL tri-license.
Enhancements:
- Added CramMD5 Authentication
- Separate packages for each protocol
Bugs fixed:
- Zeros padding in server response while authenticaion fixed.
- Java 1.5 import problems for Sasl fixed.
Download (1.2MB)
Added: 2006-03-17 License: MPL (Mozilla Public License) Price:
1317 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 java cryptography api 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