Contezero74 / pri-views

Originally stored in code.google.com/p/pri-views

Home Page:http://primelife.ercim.eu/results/opensource/60-pri-views

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

=== DataProtection - Fragmentation ===
Contributors: UniBG, UniMI
Tags: C++, encryption, fragmentation, greedy algorithm, Java, sensitive attributes, unlinkable fragments   
Requires at least: Java Run Time Environment (version 1.6 or later)
Tested up to: JRE v. 1.6
Stable tag: 1.0

This tool implements the greedy algorithm solving the problem of creating
unlinkable fragments in the storage of sensitive attributes.

== Description ==

This tool implements the greedy algorithm designed by UniBG and UniMI to solve
the problem of creating unlinkable fragments in the storage of sensitive
attributes. The presented algorithm departs from the use of encryption, while
usually in the literature, this kind of problem has been addressed using both
fragmentation and encryption. The tool is composed of two applications: the
first implements the proposed greedy algorithm (developed in C++), while the
second realizes its Graphical User Interface (developed in Java). 

= Getting Started ==

The implemented tool is composed of two distinct applications:
 1. the first one is a command line program developed in C++, which implements the greedy algorithm designed by UNIBG and UNIMI;
 2. the second one is the Graphical User Interface (GUI) developed in Java that simplifies the use of the first one.

The applications have been developed in standard C++ and Java, therefore they
should be compatible with almost all the operating systems (OS) currently in use.
Under MS Windows, the released version is ready to run, while under other
OSs (e.g., Linux), a few installation steps are required.

After the correct installation of the tool, the reader has to open the OS shell,
go to the directory where the program has been installed, and input the
following command at the prompt: java -jar Esorics09GUI.jar, to start the
graphical user interface.

== Installation ==

To install the tool, the first step is to uncompress the file fragmentation.zip
in directory selected by the reader (from now on called installation directory). 
Below, we briefly list and describe the files and directories contained in the
installation directory:

 * Esorics09GUI.jar : the Java GUI application;
 * esorics09.exe: the MS Windows command line application;
 * run.bat: the MS Windows script that can be used to start the GUI application;
 * run.sh: the Unix like script that can be used to start the GUI application (a bash shell is needed);
 * esorics09.properties: the preferences file of the GUI application;
 * Example.txt: the example project presented in in the ''How to Use the Tool'' section;
 * src: the directory containing the source code of the tool applications, structured as:
   * cpp: the directory containing the C++ application source code. The directory is a MS Visual Studio 2005 project, but there is also a Unix like makefile in subdirectory esorics09;
   * java: the directory containing the Java application source code. The directory is an Eclipse project.
    

== Frequently Asked Questions ==

= How can I try the tool? =

This section describes step by step a simple example showing how to use the tool.

After the start of the Java program, the reader has to create a new project
using the menu File > New.... Assuming the project is called Example and 7
attributes are used, the reader has to insert Example and 7 in the two fields of
the dialog, and then press the Ok button.

Now the reader can insert the following 5 constraints represented as a string of
bits where 1 means that the attribute is part of the constraint and the left
most value represents the first attribute:
 * 1 0 0 0 1 0 0
 * 1 0 1 0 0 0 0
 * 0 1 0 1 1 0 0
 * 0 1 1 1 0 0 0
 * 0 0 0 0 1 1 0
For each constraint, the reader has to click the menu
Project > Add Constraint..., check the checkboxes corresponding to the
attributes set to 1, and then click the Add button.

After that, the reader can insert the following 6 targets with the associated
weight:
 * 0 0 0 1 1 0 0, with weight 5
 * 0 1 0 0 1 0 0, with weight 4
 * 0 0 0 0 1 1 0, with weight 10
 * 0 0 1 0 1 0 0, with weight 1
 * 0 0 0 0 1 0 0, with weight 7
 * 0 0 1 1 0 0 1, with weight 7
For each target, the reader has to click the menu Project > Add Target..., 
insert the relative weight, and check the checkboxes corresponding to the 
attributes set to 1. Finally, the reader can click the Add button to save the 
target.

The last step is to run the experiment using the menu Project > Run.... Now,
the application asks to save the project, and then shows the dialog used to 
start the experiments. The reader has to insert the values 7 and 7 in the fields
of the dialog and then press the Ok button. The next figure shows the result of
the experiment. In the string of bits representing the solution, value 1 means
that the attribute belongs to Fo, the remaining attributes compose Fs.

= What is the target audience? =

Developers who want to use state of the art algorithms to implement protection
mechanisms based on fragmentation.

= Which are the future plans for this tool? =

We plan to extend the tool with future results of UniBG and UniMI research.

== Screenshots ==

== Changelog ==

= 1.0 =
 * First version of the tool

== Upgrade Notice ==

== Additional License ==
 * Chess iT library copyright notice:

   Copyright (c) 2003, 2004, Chess iT
   All rights reserved.
 
   Redistribution and use in source and binary forms, with or without modification,
   are permitted provided that the following conditions are met:
  
   - Redistributions of source code must retain the above copyright notice, this
     list of conditions and the following disclaimer.
   - Redistributions in binary form must reproduce the above copyright notice,
     this list of conditions and the following disclaimer in the documentation
     and/or other materials provided with the distribution.
   - Neither the name of Chess iT, nor the names of its contributors may be used 
     to endorse or promote products derived from this software without specific
     prior written permission.
 
   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
   POSSIBILITY OF SUCH DAMAGE.

About

Originally stored in code.google.com/p/pri-views

http://primelife.ercim.eu/results/opensource/60-pri-views


Languages

Language:Java 71.4%Language:C++ 27.8%Language:HTML 0.4%Language:Makefile 0.4%Language:Shell 0.0%