SlideShare a Scribd company logo
Netaji Institute of Engineering & Technology
Dept of Computer Science and Engineering
A Project on
A Secure Erasure Code-based Cloud Storage
System with Secure Data Forwarding
By Under The Guidance of
SRIHARI KADALI Mr.P.Darshan (H.O.D & professor)
Content
Abstract
Existing System
Demerits
Proposed System
Architecture
Merits
Functional Requirements
Non Functional Requirements
System Design
Screen Shots
References
Abstract
The main technical contribution is that the proxy re-encryption
scheme supports encoding operations over encrypted messages as well
as forwarding operations over encoded and encrypted messages. Our
method fully integrates encrypting, encoding, and forwarding.
Implementing threshold proxy re-encryption and decentralized erasure
code.
Distributed storage System used for distribution purpose, and it
depends on the secure storage system.
Storage server and key server are used.
Parameters are more flexible adjustment between servers(storage and
key).
Existing System
General encryption schemes protect data confidentiality, but also limit
the functionality of the storage system because a few operations are
supported over encrypted data. Storing data in a third party’s cloud
system causes serious concern on data confidentiality.
General encryption scheme for storing data.
DES algorithm is used for key generation.
For the storage data ,user has to manage his keys .
Single storage server for whole file.
Existing System
Disadvantages Of Existing System
There are three problems in the above straightforward integration of
encryption and encoding. First, the user has to do most computation
and the communication traffic between the user and storage servers
is high. Second, the user has to manage his cryptographic keys.
Communication traffic between the user and storage servers.
User’s device of storing the keys is lost.
Storing and retrieving, it is hard for storage servers .
Only one time encryption using general encryption schemes.
Proposed System
The method of threshold proxy re-encryption.
Decentralized erasure code method can be used for distributed
storage system.
Distributed storage system depends on the secure cloud
storage.
Storage server and key server those two systems used for
storage system.
Encryption using Blowfish algorithm.
Architecture
Advantages Of Proposed System
By using the threshold proxy re-encryption scheme, we present a
secure cloud storage system that provides secure data storage and
secure data forwarding functionality in a decentralized structure
Data is more confidential.
Highly protected by an security mechanism of the Server
Easy distribution and data forwarding.
Less Time consuming.
Functional Requirement
Encryption
Re-encryption
Storage
Decryption
Non Functional Requirement
Privacy
Reliability
Scalability
Performance
Security
System Design
Workflow Diagram
A workflow diagram visually represents the movement and transfer
of resources, documents, data and tasks through the entire work process for
a given product or service.
Use case Diagram
Use case diagrams are used to describe a set of actions use cases that
some system or systems subject should or can perform in collaboration
with one or more external users of the system actors.
Sequence Diagram
A sequence diagram is a kind of interaction diagram that shows how
processes operate with one another and in what order.
Workflow Diagram
Use Case Diagram
Sequence Diagram
Login Register Home File select
jButtonActionPerformed
Register to
cloud
jButtonActionPerformed
Select file for encryption
Encryption
jButtonActionPerformed
jButtonActionPerformed
jButtonActionPerformed
Continue…
Re-encryptionSplitting
Select No. of tokens
jButtonActionPerformed
Upload file
jButtonActionPerformed
Select VM1 and VM2
Retrieve
jButtonActionPerformed
Receiving from
VM1 and VM2
Decryption
jButtonActionPerformed
Modules
Process Encryption
Threshold-Proxy Function
Secure Cloud Storage
Data Forwarding
Data Retrieval
Login and Registration
Encryption Process
Secureerasurecodebasedcloudstoragesystemwithsecuredataforwarding
// Creation of Secret key
byte key[] = "HUFEdcba".getBytes();
String k = key.toString();
SecretKeySpec secretKey = new SecretKeySpec(key, "Blowfish");
// Creation of Cipher objects
Cipher encrypt = Cipher.getInstance("Blowfish");
encrypt.init(Cipher.ENCRYPT_MODE, secretKey);
// Open the Plaintext file
cis = new CipherInputStream(fis, encrypt);
// Write to the Encrypted file
byte[] b = new byte[1024];
int i = cis.read(b);
while (i != -1) {
fos.write(b, 0, i);
i = cis.read(b); }
fos.flush();
fos.close();
cis.close();
fis.close();
String fenc = " File Encrypted ";
JOptionPane.showMessageDialog(null, fenc);
count++;
Coding
Splitting Process
Threshold Proxy Re-encryption Scheme
// Creation of Secret key
byte key[] = "abcdEFUH".getBytes();
SecretKeySpec secretKey = new
SecretKeySpec(key,"Blowfish");
// Creation of Cipher objects
Cipher encrypt = Cipher.getInstance("Blowfish");
encrypt.init(Cipher.ENCRYPT_MODE,
secretKey);
Selecting Servers For Files
Secure Cloud Storage
Server Side File Receiving
int bytesRead;
int current = 0;
ServerSocket serverSocket = null;
serverSocket = new ServerSocket(7777);
while(true) {
Socket clientSocket = null;
clientSocket = serverSocket.accept();
InputStream in = clientSocket.getInputStream();
OutputStream output = new
FileOutputStream("C:/"+filename+".zip");
byte[] buffer = new byte[1024];
while ((bytesRead = in.read(buffer)) != -1) {
output.write(buffer, 0, bytesRead);
}
Coding
Secureerasurecodebasedcloudstoragesystemwithsecuredataforwarding
try
{
Socket sock1 = new Socket("192.168.0.154", 7777);
// sendfile
File myFile = zipFile1;
System.out.println(zipFile1);
byte[] mybytearray = new byte[(int) myFile.length()];
FileInputStream fis = new FileInputStream(myFile);
BufferedInputStream bis = new BufferedInputStream(fis);
bis.read(mybytearray, 0, mybytearray.length);
OutputStream os = sock1.getOutputStream();
os.write(mybytearray, 0, mybytearray.length);
os.flush();
sock1.close();
String sen="Files are forwarded to cloud Storage server 1 !!!";
JOptionPane.showMessageDialog(null,sen);
jTextArea1.append("Sending File:"+z1);
jTextArea1.append("Files are forwarded to cloud Storage server 1 !!!");
}
catch(Exception e)
{
System.out.println("Exception : "+e);
}
Coding
File Retrieval Process
try
{
int bytesRead;
int current = 0;
ServerSocket serverSocket1 = new
ServerSocket(4000);
while(true) {
Socket clientSocket = serverSocket1.accept();
InputStream in = clientSocket.getInputStream();
String op="D:/secure/server1/server1.zip";
OutputStream output = new
FileOutputStream(op);
//jTextArea1.append("Received File Location from
Server1:"+output);
byte[] buffer = new byte[1024];
while ((bytesRead = in.read(buffer)) != -1) {
output.write(buffer, 0, bytesRead);
}
in.close();
output.close();
String ip2="192.168.1.2";
jTextArea1.append(" Server1 IP Address:"+ip2);
jTextArea1.append("Received File Location from
Server 2:"+op);
String fr=" File can be Received from Server1.";
JOptionPane.showConfirmDialog(null,fr);
serverSocket1.close();
}
Client Sending Filename
Cipher
Cipher Cipher
try
{
Socket sock = new Socket("192.168.1.2",4000); //client IP address
jTextArea1.append("n Client IP :"+sock);
// sendfile
String fn= "D:"+reqfile1+".zip";
File myFile = new File(fn);
jTextArea1.append("n File location :"+myFile);
byte[] mybytearray = new byte[(int) myFile.length()];
jTextArea1.append("n File Length :"+mybytearray);
FileInputStream fis = new FileInputStream(myFile);
BufferedInputStream bis = new BufferedInputStream(fis);
bis.read(mybytearray, 0, mybytearray.length);
OutputStream os = sock.getOutputStream();
os.write(mybytearray, 0, mybytearray.length);
os.flush();
String sen="Files are forwarded to Client !!!";
JOptionPane.showMessageDialog(null,sen);
os.close();
sock.close();
}
Coding
Cipher
Server Sending Files to Client
try
{ Socket sock = new Socket("192.168.1.2",4000); //client IP
address
jTextArea1.append("n Client IP :"+sock);
// sendfile
String fn= "D:"+reqfile1+".zip";
File myFile = new File(fn);
jTextArea1.append("n File location :"+myFile);
byte[] mybytearray = new byte[(int) myFile.length()];
jTextArea1.append("n File Length :"+mybytearray);
FileInputStream fis = new FileInputStream(myFile);
BufferedInputStream bis = new BufferedInputStream(fis);
bis.read(mybytearray, 0, mybytearray.length);
OutputStream os = sock.getOutputStream();
os.write(mybytearray, 0, mybytearray.length);
os.flush();
String sen="Files are forwarded to Client !!!";
JOptionPane.showMessageDialog(null,sen);
os.close();
sock.close();
}
catch(Exception e)
{
System.out.println("Exception : "+e);
Coding
Secureerasurecodebasedcloudstoragesystemwithsecuredataforwarding
try {
String sourcefile = "D:/secure/server1/server1.zip";
File sf=new File(sourcefile);
if (!sourcefile.endsWith(".zip")) {
System.out.println("Invalid file name!");
System.exit(0);
} else if (!new File(sourcefile).exists()) {
System.out.println("File not exist!");
System.exit(0);
}
ZipInputStream in =new ZipInputStream(new
FileInputStream(sourcefile));
ZipFile zf = new ZipFile(sourcefile);
int a = 0;
for (Enumeration em = zf.entries(); em.hasMoreElements();) {
String targetfile = em.nextElement().toString();
ZipEntry ze = in.getNextEntry();
out = new FileOutputStream("D:/secure/EXTRACT/" + targetfile);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
} a = a + 1;
}
if (a > 0) {
JOptionPane.showMessageDialog(null, "Files are unzipped, click
NEXT");
jTextArea1.append("nServer1 Files can be Extractedn");
jTextArea1.append("ZipFile Name:"+sf.getName()+"n");
jTextArea1.append("ZipFile size :"+sf.length()+"n");
String fol="D:/secure/EXTRACT";
File folder=new File(fol);
jTextArea1.append("n Files in the Path:n"+folder.getAbsolutePath());
}
out.close();
in.close();
try { String p=a;
String s11="plaintxt"+l;
String s12="des"+l;
String key1 ="AbCd124"+l;
l++;
File kkk=new File(p);
BufferedReader br=new BufferedReader(new FileReader(kkk));
jTextArea1.append("nnGiven File Name is:"+kkk.getName()+"
System.out.println("Given File Name is:"+kkk.getName()+"n");
jTextArea1.append("Given File size is:"+kkk.length()+"n");
System.out.println("Given File size is:"+kkk.length()+"n");
File dec= new File("D:/secure/firstDEcryption/"+s11+".txt");
FileInputStream fis = new FileInputStream(p);
FileOutputStream fos = new FileOutputStream(dec);
CipherOutputStream cos = null;
jTextArea1.append("Decrypted File Name is:"+dec.getName()+"n");
System.out.println("Decrypted File Name is:"+dec.getName()+"n");
jTextArea1.append("Decrypted File Path is:"+dec.getAbsolutePath()+"
jTextArea1.append("Key To Decrypt the cipher Text:"+key1);
System.out.println("Decrypted File Path is:"+dec.getAbsolutePath()+"n"
// Creation of Secret key
byte key[] = "abcdEFUH".getBytes();
SecretKeySpec secretKey = new SecretKeySpec(key,”Blowfish");
// Creation of plain objects
Cipher decrypt = Cipher.getInstance("DES");
decrypt.init(Cipher.DECRYPT_MODE, secretKey);
// Open the ciphert file
CipherInputStream cis=new CipherInputStream(fis, decrypt);
// Write to the decrypted file
byte[] b = new byte[1024];
int i = cis.read(b);
while (i != -1) {
fos.write(b, 0, i);
i = cis.read(b);
}
fos.flush();
fos.close();
cos.close();
fis.close();
}
try{
int j;
/** Takes all files in a specified directory and merge
them together...*/
File firstDEcryption = new
File("D:/secure/firstDEcryption/");
listOfFiles = firstDEcryption.listFiles();
for( j=0; j<listOfFiles.length; j++){
String lines;
String srcFile = listOfFiles[j].getPath();
outFile = "D:/secure/merging.txt";
of=new File(outFile);
BufferedReader inFile=new BufferedReader(new
FileReader(new File(srcFile)));
BufferedWriter outPut=new BufferedWriter(new
FileWriter(outFile, true));
String fil=listOfFiles.toString();
jTextArea1.append("Files to be Merged:"+fil);
jTextArea1.append("Merged File Path:"+outFile);
while((lines=inFile.readLine()) != null) {
outPut.write(lines);
outPut.newLine();
}
String fenc=" Files can be Merged ";
JOptionPane.showMessageDialog(null, fenc);
outPut.flush();
outPut.close();
inFile.close();
} }
Re-Decryption Process
Integrated a newly proposed threshold proxy re-encryption
scheme and erasure codes over exponents.
The threshold proxy Re-encryption scheme supports
encoding, forwarding, and partial decryption operations in a
distributed way.
By using the threshold proxy re-encryption scheme, we
present a secure cloud storage system that provides secure
data storage and secure data forwarding functionality in a
decentralized structure.
key servers act as access nodes for providing a front-end layer
such as a traditional file system interface.
Conclusion
References
IEEE 2012 paper on Distributed and Parallel systems, “A secure
Erasure code based Cloud storage System with Secure Data
forwarding”.
Swings (second Edition) By Matthew robinson and Pavel
vorobiev.
www.youtube.com
Fast Software Encryption, Cambridge Security Workshop
Proceedings (December 1993), Springer-Verlag, 1994, pp. 191-
204. IEEE Paper.
Secureerasurecodebasedcloudstoragesystemwithsecuredataforwarding
Secureerasurecodebasedcloudstoragesystemwithsecuredataforwarding

More Related Content

DOCX
A secure erasure code based cloud storage
PDF
A hybrid cloud approach for secure authorized deduplication
PPTX
Secure deduplicaton with efficient and reliable convergent
DOCX
A Hybrid Cloud Approach for Secure Authorized Deduplication
PDF
Doc A hybrid cloud approach for secure authorized deduplication
DOCX
Hybrid Cloud Approach for Secure Authorized Deduplication
DOCX
SECURE AUDITING AND DEDUPLICATING DATA IN CLOUD
PDF
A secure erasure code based cloud storage
A hybrid cloud approach for secure authorized deduplication
Secure deduplicaton with efficient and reliable convergent
A Hybrid Cloud Approach for Secure Authorized Deduplication
Doc A hybrid cloud approach for secure authorized deduplication
Hybrid Cloud Approach for Secure Authorized Deduplication
SECURE AUDITING AND DEDUPLICATING DATA IN CLOUD

What's hot (16)

PDF
A hybrid cloud approach for secure authorized deduplication
PDF
A Hybrid Cloud Approach for Secure Authorized Deduplication
PPTX
A hybrid cloud approach for secure authorized deduplication
DOC
Decentralized access control with anonymous authentication of data stored in ...
PDF
Jose Selvi - Side-Channels Uncovered [rootedvlc2018]
DOC
IEEE paper 2014 abstract
PPTX
BSides SG Practical Red Teaming Workshop
DOCX
Secure distributed deduplication systems with improved reliability
PPTX
SECRY - Secure file storage on cloud using hybrid cryptography
PDF
Dear Hacker: Infrastructure Security Reality Check
PDF
International Journal of Engineering and Science Invention (IJESI)
PPT
Windows Server2008 Overview
DOCX
Key aggregate searchable encryption (kase) for group data sharing via cloud s...
PDF
Blockchain Based Decentralized Cloud System
PDF
Secure distributed deduplication systems with improved reliability 2
PPTX
Adventures in Underland: Is encryption solid as a rock or a handful of dust?
A hybrid cloud approach for secure authorized deduplication
A Hybrid Cloud Approach for Secure Authorized Deduplication
A hybrid cloud approach for secure authorized deduplication
Decentralized access control with anonymous authentication of data stored in ...
Jose Selvi - Side-Channels Uncovered [rootedvlc2018]
IEEE paper 2014 abstract
BSides SG Practical Red Teaming Workshop
Secure distributed deduplication systems with improved reliability
SECRY - Secure file storage on cloud using hybrid cryptography
Dear Hacker: Infrastructure Security Reality Check
International Journal of Engineering and Science Invention (IJESI)
Windows Server2008 Overview
Key aggregate searchable encryption (kase) for group data sharing via cloud s...
Blockchain Based Decentralized Cloud System
Secure distributed deduplication systems with improved reliability 2
Adventures in Underland: Is encryption solid as a rock or a handful of dust?
Ad

Viewers also liked (8)

PPTX
Secure erasure code based cloud storage system with secure data forwarding
PPTX
Secure erasure code based distributed storage system with secure data forwarding
PPTX
Cloud Encryption
PPTX
Final review presentation
PPTX
cloud computing preservity
PDF
Cloud Security - Security Aspects of Cloud Computing
PPTX
Cloud security and security architecture
PPTX
Data security in cloud computing
Secure erasure code based cloud storage system with secure data forwarding
Secure erasure code based distributed storage system with secure data forwarding
Cloud Encryption
Final review presentation
cloud computing preservity
Cloud Security - Security Aspects of Cloud Computing
Cloud security and security architecture
Data security in cloud computing
Ad

Similar to Secureerasurecodebasedcloudstoragesystemwithsecuredataforwarding (20)

DOCX
A secure erasure code based cloud storage system with secure data forwarding
PPT
PDF
Psdot 12 a secure erasure code-based cloud storage
PDF
IRJET- A Secure Erasure Code-Based Cloud Storage Framework with Secure Inform...
PDF
E0952731
PDF
As03302670271
DOC
126689454 jv6
PDF
Secret keys and the packets transportation for privacy data forwarding method...
PDF
Secret keys and the packets transportation for privacy data forwarding method...
PDF
Securely Data Forwarding and Maintaining Reliability of Data in Cloud Computing
PDF
Secure Data Storage and Forwarding in Cloud Using AES and HMAC
PPTX
Identity Based Secure Distributed Storage Scheme
DOC
documentation for identity based secure distrbuted data storage schemes
PDF
21 muhammad ahmadjan_8
PPTX
Web Based Storage for Secure Data Sharing Across Platform.pptx
PDF
Hybrid Cryptography Algorithm Based Secured Storage Android App
PDF
IRJET - A Novel Approach Implementing Deduplication using Message Locked Encr...
PPTX
Cloud computing security from single to multiple
A secure erasure code based cloud storage system with secure data forwarding
Psdot 12 a secure erasure code-based cloud storage
IRJET- A Secure Erasure Code-Based Cloud Storage Framework with Secure Inform...
E0952731
As03302670271
126689454 jv6
Secret keys and the packets transportation for privacy data forwarding method...
Secret keys and the packets transportation for privacy data forwarding method...
Securely Data Forwarding and Maintaining Reliability of Data in Cloud Computing
Secure Data Storage and Forwarding in Cloud Using AES and HMAC
Identity Based Secure Distributed Storage Scheme
documentation for identity based secure distrbuted data storage schemes
21 muhammad ahmadjan_8
Web Based Storage for Secure Data Sharing Across Platform.pptx
Hybrid Cryptography Algorithm Based Secured Storage Android App
IRJET - A Novel Approach Implementing Deduplication using Message Locked Encr...
Cloud computing security from single to multiple

Recently uploaded (20)

PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
RMMM.pdf make it easy to upload and study
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Classroom Observation Tools for Teachers
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
01-Introduction-to-Information-Management.pdf
PDF
Complications of Minimal Access Surgery at WLH
PDF
Business Ethics Teaching Materials for college
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Cell Types and Its function , kingdom of life
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Institutional Correction lecture only . . .
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Renaissance Architecture: A Journey from Faith to Humanism
TR - Agricultural Crops Production NC III.pdf
VCE English Exam - Section C Student Revision Booklet
RMMM.pdf make it easy to upload and study
Module 4: Burden of Disease Tutorial Slides S2 2025
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Classroom Observation Tools for Teachers
Week 4 Term 3 Study Techniques revisited.pptx
01-Introduction-to-Information-Management.pdf
Complications of Minimal Access Surgery at WLH
Business Ethics Teaching Materials for college
Anesthesia in Laparoscopic Surgery in India
Cell Types and Its function , kingdom of life
O5-L3 Freight Transport Ops (International) V1.pdf
Institutional Correction lecture only . . .

Secureerasurecodebasedcloudstoragesystemwithsecuredataforwarding

  • 1. Netaji Institute of Engineering & Technology Dept of Computer Science and Engineering A Project on A Secure Erasure Code-based Cloud Storage System with Secure Data Forwarding By Under The Guidance of SRIHARI KADALI Mr.P.Darshan (H.O.D & professor)
  • 2. Content Abstract Existing System Demerits Proposed System Architecture Merits Functional Requirements Non Functional Requirements System Design Screen Shots References
  • 3. Abstract The main technical contribution is that the proxy re-encryption scheme supports encoding operations over encrypted messages as well as forwarding operations over encoded and encrypted messages. Our method fully integrates encrypting, encoding, and forwarding. Implementing threshold proxy re-encryption and decentralized erasure code. Distributed storage System used for distribution purpose, and it depends on the secure storage system. Storage server and key server are used. Parameters are more flexible adjustment between servers(storage and key).
  • 4. Existing System General encryption schemes protect data confidentiality, but also limit the functionality of the storage system because a few operations are supported over encrypted data. Storing data in a third party’s cloud system causes serious concern on data confidentiality. General encryption scheme for storing data. DES algorithm is used for key generation. For the storage data ,user has to manage his keys . Single storage server for whole file.
  • 6. Disadvantages Of Existing System There are three problems in the above straightforward integration of encryption and encoding. First, the user has to do most computation and the communication traffic between the user and storage servers is high. Second, the user has to manage his cryptographic keys. Communication traffic between the user and storage servers. User’s device of storing the keys is lost. Storing and retrieving, it is hard for storage servers . Only one time encryption using general encryption schemes.
  • 7. Proposed System The method of threshold proxy re-encryption. Decentralized erasure code method can be used for distributed storage system. Distributed storage system depends on the secure cloud storage. Storage server and key server those two systems used for storage system. Encryption using Blowfish algorithm.
  • 9. Advantages Of Proposed System By using the threshold proxy re-encryption scheme, we present a secure cloud storage system that provides secure data storage and secure data forwarding functionality in a decentralized structure Data is more confidential. Highly protected by an security mechanism of the Server Easy distribution and data forwarding. Less Time consuming.
  • 12. System Design Workflow Diagram A workflow diagram visually represents the movement and transfer of resources, documents, data and tasks through the entire work process for a given product or service. Use case Diagram Use case diagrams are used to describe a set of actions use cases that some system or systems subject should or can perform in collaboration with one or more external users of the system actors. Sequence Diagram A sequence diagram is a kind of interaction diagram that shows how processes operate with one another and in what order.
  • 15. Sequence Diagram Login Register Home File select jButtonActionPerformed Register to cloud jButtonActionPerformed Select file for encryption Encryption jButtonActionPerformed jButtonActionPerformed jButtonActionPerformed
  • 16. Continue… Re-encryptionSplitting Select No. of tokens jButtonActionPerformed Upload file jButtonActionPerformed Select VM1 and VM2 Retrieve jButtonActionPerformed Receiving from VM1 and VM2 Decryption jButtonActionPerformed
  • 17. Modules Process Encryption Threshold-Proxy Function Secure Cloud Storage Data Forwarding Data Retrieval
  • 21. // Creation of Secret key byte key[] = "HUFEdcba".getBytes(); String k = key.toString(); SecretKeySpec secretKey = new SecretKeySpec(key, "Blowfish"); // Creation of Cipher objects Cipher encrypt = Cipher.getInstance("Blowfish"); encrypt.init(Cipher.ENCRYPT_MODE, secretKey); // Open the Plaintext file cis = new CipherInputStream(fis, encrypt); // Write to the Encrypted file byte[] b = new byte[1024]; int i = cis.read(b); while (i != -1) { fos.write(b, 0, i); i = cis.read(b); } fos.flush(); fos.close(); cis.close(); fis.close(); String fenc = " File Encrypted "; JOptionPane.showMessageDialog(null, fenc); count++; Coding
  • 23. Threshold Proxy Re-encryption Scheme // Creation of Secret key byte key[] = "abcdEFUH".getBytes(); SecretKeySpec secretKey = new SecretKeySpec(key,"Blowfish"); // Creation of Cipher objects Cipher encrypt = Cipher.getInstance("Blowfish"); encrypt.init(Cipher.ENCRYPT_MODE, secretKey);
  • 26. Server Side File Receiving
  • 27. int bytesRead; int current = 0; ServerSocket serverSocket = null; serverSocket = new ServerSocket(7777); while(true) { Socket clientSocket = null; clientSocket = serverSocket.accept(); InputStream in = clientSocket.getInputStream(); OutputStream output = new FileOutputStream("C:/"+filename+".zip"); byte[] buffer = new byte[1024]; while ((bytesRead = in.read(buffer)) != -1) { output.write(buffer, 0, bytesRead); } Coding
  • 29. try { Socket sock1 = new Socket("192.168.0.154", 7777); // sendfile File myFile = zipFile1; System.out.println(zipFile1); byte[] mybytearray = new byte[(int) myFile.length()]; FileInputStream fis = new FileInputStream(myFile); BufferedInputStream bis = new BufferedInputStream(fis); bis.read(mybytearray, 0, mybytearray.length); OutputStream os = sock1.getOutputStream(); os.write(mybytearray, 0, mybytearray.length); os.flush(); sock1.close(); String sen="Files are forwarded to cloud Storage server 1 !!!"; JOptionPane.showMessageDialog(null,sen); jTextArea1.append("Sending File:"+z1); jTextArea1.append("Files are forwarded to cloud Storage server 1 !!!"); } catch(Exception e) { System.out.println("Exception : "+e); } Coding
  • 31. try { int bytesRead; int current = 0; ServerSocket serverSocket1 = new ServerSocket(4000); while(true) { Socket clientSocket = serverSocket1.accept(); InputStream in = clientSocket.getInputStream(); String op="D:/secure/server1/server1.zip"; OutputStream output = new FileOutputStream(op); //jTextArea1.append("Received File Location from Server1:"+output); byte[] buffer = new byte[1024]; while ((bytesRead = in.read(buffer)) != -1) { output.write(buffer, 0, bytesRead); } in.close(); output.close(); String ip2="192.168.1.2"; jTextArea1.append(" Server1 IP Address:"+ip2); jTextArea1.append("Received File Location from Server 2:"+op); String fr=" File can be Received from Server1."; JOptionPane.showConfirmDialog(null,fr); serverSocket1.close(); } Client Sending Filename Cipher
  • 33. try { Socket sock = new Socket("192.168.1.2",4000); //client IP address jTextArea1.append("n Client IP :"+sock); // sendfile String fn= "D:"+reqfile1+".zip"; File myFile = new File(fn); jTextArea1.append("n File location :"+myFile); byte[] mybytearray = new byte[(int) myFile.length()]; jTextArea1.append("n File Length :"+mybytearray); FileInputStream fis = new FileInputStream(myFile); BufferedInputStream bis = new BufferedInputStream(fis); bis.read(mybytearray, 0, mybytearray.length); OutputStream os = sock.getOutputStream(); os.write(mybytearray, 0, mybytearray.length); os.flush(); String sen="Files are forwarded to Client !!!"; JOptionPane.showMessageDialog(null,sen); os.close(); sock.close(); } Coding
  • 35. try { Socket sock = new Socket("192.168.1.2",4000); //client IP address jTextArea1.append("n Client IP :"+sock); // sendfile String fn= "D:"+reqfile1+".zip"; File myFile = new File(fn); jTextArea1.append("n File location :"+myFile); byte[] mybytearray = new byte[(int) myFile.length()]; jTextArea1.append("n File Length :"+mybytearray); FileInputStream fis = new FileInputStream(myFile); BufferedInputStream bis = new BufferedInputStream(fis); bis.read(mybytearray, 0, mybytearray.length); OutputStream os = sock.getOutputStream(); os.write(mybytearray, 0, mybytearray.length); os.flush(); String sen="Files are forwarded to Client !!!"; JOptionPane.showMessageDialog(null,sen); os.close(); sock.close(); } catch(Exception e) { System.out.println("Exception : "+e); Coding
  • 37. try { String sourcefile = "D:/secure/server1/server1.zip"; File sf=new File(sourcefile); if (!sourcefile.endsWith(".zip")) { System.out.println("Invalid file name!"); System.exit(0); } else if (!new File(sourcefile).exists()) { System.out.println("File not exist!"); System.exit(0); } ZipInputStream in =new ZipInputStream(new FileInputStream(sourcefile)); ZipFile zf = new ZipFile(sourcefile); int a = 0; for (Enumeration em = zf.entries(); em.hasMoreElements();) { String targetfile = em.nextElement().toString(); ZipEntry ze = in.getNextEntry(); out = new FileOutputStream("D:/secure/EXTRACT/" + targetfile); byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } a = a + 1; } if (a > 0) { JOptionPane.showMessageDialog(null, "Files are unzipped, click NEXT"); jTextArea1.append("nServer1 Files can be Extractedn"); jTextArea1.append("ZipFile Name:"+sf.getName()+"n"); jTextArea1.append("ZipFile size :"+sf.length()+"n"); String fol="D:/secure/EXTRACT"; File folder=new File(fol); jTextArea1.append("n Files in the Path:n"+folder.getAbsolutePath()); } out.close(); in.close();
  • 38. try { String p=a; String s11="plaintxt"+l; String s12="des"+l; String key1 ="AbCd124"+l; l++; File kkk=new File(p); BufferedReader br=new BufferedReader(new FileReader(kkk)); jTextArea1.append("nnGiven File Name is:"+kkk.getName()+" System.out.println("Given File Name is:"+kkk.getName()+"n"); jTextArea1.append("Given File size is:"+kkk.length()+"n"); System.out.println("Given File size is:"+kkk.length()+"n"); File dec= new File("D:/secure/firstDEcryption/"+s11+".txt"); FileInputStream fis = new FileInputStream(p); FileOutputStream fos = new FileOutputStream(dec); CipherOutputStream cos = null; jTextArea1.append("Decrypted File Name is:"+dec.getName()+"n"); System.out.println("Decrypted File Name is:"+dec.getName()+"n"); jTextArea1.append("Decrypted File Path is:"+dec.getAbsolutePath()+" jTextArea1.append("Key To Decrypt the cipher Text:"+key1); System.out.println("Decrypted File Path is:"+dec.getAbsolutePath()+"n" // Creation of Secret key byte key[] = "abcdEFUH".getBytes(); SecretKeySpec secretKey = new SecretKeySpec(key,”Blowfish"); // Creation of plain objects Cipher decrypt = Cipher.getInstance("DES"); decrypt.init(Cipher.DECRYPT_MODE, secretKey); // Open the ciphert file CipherInputStream cis=new CipherInputStream(fis, decrypt); // Write to the decrypted file byte[] b = new byte[1024]; int i = cis.read(b); while (i != -1) { fos.write(b, 0, i); i = cis.read(b); } fos.flush(); fos.close(); cos.close(); fis.close(); }
  • 39. try{ int j; /** Takes all files in a specified directory and merge them together...*/ File firstDEcryption = new File("D:/secure/firstDEcryption/"); listOfFiles = firstDEcryption.listFiles(); for( j=0; j<listOfFiles.length; j++){ String lines; String srcFile = listOfFiles[j].getPath(); outFile = "D:/secure/merging.txt"; of=new File(outFile); BufferedReader inFile=new BufferedReader(new FileReader(new File(srcFile))); BufferedWriter outPut=new BufferedWriter(new FileWriter(outFile, true)); String fil=listOfFiles.toString(); jTextArea1.append("Files to be Merged:"+fil); jTextArea1.append("Merged File Path:"+outFile); while((lines=inFile.readLine()) != null) { outPut.write(lines); outPut.newLine(); } String fenc=" Files can be Merged "; JOptionPane.showMessageDialog(null, fenc); outPut.flush(); outPut.close(); inFile.close(); } }
  • 41. Integrated a newly proposed threshold proxy re-encryption scheme and erasure codes over exponents. The threshold proxy Re-encryption scheme supports encoding, forwarding, and partial decryption operations in a distributed way. By using the threshold proxy re-encryption scheme, we present a secure cloud storage system that provides secure data storage and secure data forwarding functionality in a decentralized structure. key servers act as access nodes for providing a front-end layer such as a traditional file system interface. Conclusion
  • 42. References IEEE 2012 paper on Distributed and Parallel systems, “A secure Erasure code based Cloud storage System with Secure Data forwarding”. Swings (second Edition) By Matthew robinson and Pavel vorobiev. www.youtube.com Fast Software Encryption, Cambridge Security Workshop Proceedings (December 1993), Springer-Verlag, 1994, pp. 191- 204. IEEE Paper.