Você está na página 1de 25

TEHNOLOGII ALTERNATIVE DE

SECURITATE FOLOSIND JAVA


Vanea Alexandra-Gabriela
E-mail: adutza.vanea@yahoo.com

Îndrumător: Prof. Dr. Ing. Mircea Vaida

Facultatea de Electronică, Telecomunicaţii si


Tehnologia Informatiei
Cuprins
1. Identificarea cerințelor
2. Tehnologii alternative de securitate
 Tehnologii alternative
 Criptarea ADN
3. Modelul ADN
 Structura ADN
 Alfabetul ADN
 Codul genetic
 Steganografia ADN
4. Algoritmul propus ca soluție la tema lucrării de diplomă
 Proprietățile algoritmului
 Criptarea
 Decriptarea
5. Implementarea unui Provider pentru JCE
 Criptografia în Java
 Implementarea Providerului CryptoDNA
 Comparație între algoritmi clasici și algoritmul de criptare ADN propus
6. Dezvoltări ulterioare
7. Concluzii
Identificarea cerințelor

Tehnologii alternative de securitate

folosind Java

JCA/JCE

Alegerea unui algoritm


Cuprins
1. Identificarea cerințelor
2. Tehnologii alternative de securitate
 Tehnologii alternative
 Criptarea ADN
3. Modelul ADN
 Structura ADN
 Alfabetul ADN
 Codul genetic
 Steganografia ADN
4. Algoritmul propus ca soluție la tema lucrării de diplomă
 Proprietățile algoritmului
 Criptarea
 Decriptarea
5. Implementarea unui Provider pentru JCE
 Criptografia în Java
 Implementarea Providerului CryptoDNA
 Comparație între algoritmi clasici și algoritmul de criptare ADN propus
6. Dezvoltări ulterioare
7. Concluzii
Tehnologii alternative de securitate
Criptarea ADN
• 1950 - von Neumann - sistemele de auto-
reproducere automata(în termeni de biologie
moleculară)

• 1999 – Viviana Risca, Dr. Carter Bancroft,


Catherine Clelland – Steganografia ADN

• Prezent – Ashish Gehani, Thomas LaBean, John


Reif - DNA-based Cryptography
Cuprins
1. Identificarea cerințelor
2. Tehnologii alternative de securitate
 Tehnologii alternative
 Criptarea ADN
3. Modelul ADN
 Structura ADN
 Alfabetul ADN
 Codul genetic
 Steganografia ADN
4. Algoritmul propus ca soluție la tema lucrării de diplomă
 Proprietățile algoritmului
 Criptarea
 Decriptarea
5. Implementarea unui Provider pentru JCE
 Criptografia în Java
 Implementarea Providerului CryptoDNA
 Comparație între algoritmi clasici și algoritmul de criptare ADN propus
6. Dezvoltări ulterioare
7. Concluzii
Structura ADN
• Acid nucleic dublu spiralat
• Se află doar în nucleul celulei
• Polinucleotidă
• Nucleotide:
▫ Adenină
▫ Guanină
▫ Citozină
▫ Timină (ARN ->Uracil)
Alfabetul ADN

Adenină, Citozină, Guanină, Timină

{A, C, G, T}
Codul genetic
Primul Al doilea nucleotid Ultimul
nucleotid nucleotid
U C A G
U Fenilanină Serină Tirozină Cisteină U
U Fenilanină Serină Tirozină Cisteină C
U Leucină Serină STOP STOP A
U Leucină Serină STOP Triptofan G
C Leucină Prolină Histidină Arginină U
C Leucină Prolină Histidină Arginină C
C Leucină Prolină Glicină Arginină A
C Leucină Prolină Glicină Arginină G
A Izoleucină Treonină Asparagină Serină U
A Izoleucină Treonină Asparagină Serină C
A Izoleucină Treonină Lizină Arginină A
A Metionină Treonină Lizină Arginină G
G Valină Alanină Acid Aspartic Acid glutamic U
G Valină Alanină Acid Aspartic Acid glutamic C
G Valină Alanină Glutamină Acid glutamic A
G Valină Alanină Glutamină Acid glutamic G
AMINOACID CODIFICAT
Steganografia ADN
Cuprins
1. Identificarea cerințelor
2. Tehnologii alternative de securitate
 Tehnologii alternative
 Criptarea ADN
3. Modelul ADN
 Structura ADN
 Alfabetul ADN
 Codul genetic
 Steganografia ADN
4. Algoritmul propus ca soluție la tema lucrării de diplomă
 Proprietățile algoritmului
 Criptarea
 Decriptarea
5. Implementarea unui Provider pentru JCE
 Criptografia în Java
 Implementarea Providerului CryptoDNA
 Comparație între algoritmi clasici și algoritmul de criptare ADN propus
6. Dezvoltări ulterioare
7. Concluzii
Proprietățile algoritmului
implementat

• Algoritm simetric
A - CGA L - TGC W - CCG 3 - GAC
B - CCA M - TCC X - CTA 4 - GAG

• Prelucrează texte C - GTT


D - TTG
N - TCT
O - GGA
Y - AAA
Z - CTT
5 - AGA
6 - TTA
E - GGC P - GTG _ - ATA 7 - ACA
F - GGT Q - AAC , - TCG 8 - AGG
• Substituție G - TTT R - TCA . - GAT 9 - GCG
space -
H - CGC S - ACG : - GCT CCC
I - ATG T - TTC 0 - ACT
• Cheie unică J - AGT U - CTG 1 - ACC
K - AAG V - CCT 2 - TAG
Criptarea
A - CGA L - TGC W - CCG 3 - GAC
B - CCA M - TCC X - CTA 4 - GAG
C - GTT N - TCT Y - AAA 5 - AGA
Text în clar D - TTG
E - GGC
O - GGA
P - GTG
Z - CTT
_ - ATA
6 - TTA
7 - ACA
F - GGT Q - AAC , - TCG 8 - AGG
SUBSTITUȚIE G - TTT R - TCA . - GAT 9 - GCG
space -
H - CGC S - ACG : - GCT CCC
I - ATG T - TTC 0 - ACT
J - AGT U - CTG 1 - ACC
Text ADN K - AAG V - CCT 2 - TAG

XOR

Text cifrat
Decriptarea
Text cifrat
XOR

A - CGA L - TGC W - CCG 3 - GAC


B - CCA M - TCC X - CTA 4 - GAG
Text ADN C - GTT N - TCT Y - AAA 5 - AGA
D - TTG O - GGA Z - CTT 6 - TTA
SUBSTITUȚIE E - GGC P - GTG _ - ATA 7 - ACA
F - GGT Q - AAC , - TCG 8 - AGG
G - TTT R - TCA . - GAT 9 - GCG
INVERSĂ space -
H - CGC S - ACG : - GCT CCC
I - ATG T - TTC 0 - ACT

Text în clar J - AGT


K - AAG
U - CTG
V - CCT
1 - ACC
2 - TAG
Cuprins
1. Identificarea cerințelor
2. Tehnologii alternative de securitate
 Tehnologii alternative
 Criptarea ADN
3. Modelul ADN
 Structura ADN
 Alfabetul ADN
 Codul genetic
 Steganografia ADN
4. Algoritmul propus ca soluție la tema lucrării de diplomă
 Proprietățile algoritmului
 Criptarea
 Decriptarea
5. Implementarea unui Provider pentru JCE
 Criptografia în Java
 Implementarea Providerului CryptoDNA
 Comparație între algoritmi clasici și algoritmul de criptare ADN propus
6. Dezvoltări ulterioare
7. Concluzii
Criptografia în Java
Security API <-> java.security package
JCA – framework -> accesare și dezvoltare de funcționalități
criptografice pentru platforma Java
JCE – extinde JCA, incluzând API-uri pentru criptări, schimbi de chei
și MAC(Message Authentication Code)
Implementarea Providerului CryptoDNA

public class Provider extends java.security.Provider {


public Provider() {
super ("CryptoDNA", 1.1, "DNA Cryptography
Provider");

put("KeyGenerator.DNA“,"dnaPack2.DNAKeyGenerator");
put("Cipher.DNA", "dnaPack2.DNACipher");
}
}
Comparație între algoritmi clasici și
algoritmul de criptare ADN propus
S-au efectuat teste:
• Intel Pentium 4 CPU, 3.00 GHz, RAM: 1,5GB,
OS: Ubuntu 9.04
• Lungime text: 435.840 caractere, 77.100 cuvinte
• Algoritmi:
 DES (Data Encryption Standard)- Cheie: 64 biți (56 biți
utili, 8 biți paritate), bloc: 64 biți
 TripleDES: 3xDES, Cheie: 3x56=168 biți
 Blowfish: Cheie: 32-448 biți, bloc: 64 biți
 AES (Advanced Encryption Standard) – Cheie: 128, 192,
256 biți, bloc: 128 biți
 DNA - Cheie: variabila, implicit 48 caractere*8=384 biți
Comparație între algoritmi clasici și
algoritmul de criptare ADN propus
Cuprins
1. Identificarea cerințelor
2. Tehnologii alternative de securitate
 Tehnologii alternative
 Criptarea ADN
3. Modelul ADN
 Structura ADN
 Alfabetul ADN
 Codul genetic
 Steganografia ADN
4. Algoritmul propus ca soluție la tema lucrării de diplomă
 Proprietățile algoritmului
 Criptarea
 Decriptarea
5. Implementarea unui Provider pentru JCE
 Criptografia în Java
 Implementarea Providerului CryptoDNA
 Comparație între algoritmi clasici și algoritmul de criptare ADN propus
6. Dezvoltări ulterioare
7. Concluzii
Dezvoltări ulterioare
• Obținerea unui certificat de la SUN
• Folosirea algoritmului în aplicații de transfer de
informații medicale
• Folosirea algoritmului împreună cu un algoritm
de criptare ADN asimetric în scopul dezvoltării
unui protocol de criptare hibrid
Concluzii
• Algoritm simetric de criptare ADN
 Alfabet ADN
 Cifru de substituție
 Cheie unică – One-Time Pad
 Dezvoltat în OpenJDK
 Integrat în JCA/JCE
• Comparație din punctul de vedere al
timpului necesar criptării/decriptării
între algoritmul propus și algoritmi
simetrici clasici
Concluzii
• Aplicație demonstrativă
Algoritmi
clasici

Algoritm
ADN propus

Durate
criptare/
decriptare

• Am concluzionat că este un algoritm sigur


(OTP ) dar că necesită un timp mai
îndelungat pentru criptare și decriptare

Você também pode gostar