Newsgroup: it.comp.lang.delphi
Titolo: crittografia su certificato

salve a tutti.
Sno completamente ignorante in materia..
Ho un certificato (su file cer) su base64 e devo crittografare con
questo file una serie di Codici fiscali..
sapete come posso fare e dove reperire informazioni???..
ho trovato questo..
function Decode(const S: AnsiString): AnsiString;
const
  Map: array[Char] of Byte = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 52, 53,
    54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
    3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
    20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30,
    31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
    46, 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0);
var
  I: LongInt;
begin
  case Length(S) of
    2: 
      begin
        I := Map[S[1]] + (Map[S[2]] shl 6);
        SetLength(Result, 1);
        Move(I, Result[1], Length(Result))
      end;
    3: 
      begin
        I := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12);
        SetLength(Result, 2);
        Move(I, Result[1], Length(Result))
      end;
    4: 
      begin
        I := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12) +
          (Map[S[4]] shl 18);
        SetLength(Result, 3);
        Move(I, Result[1], Length(Result))
      end
  end
end;
saluti..
dante
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 sapete come posso fare e dove reperire informazioni???..
per la crittografia esiste la lockbox.
Non insultero la tua inteligenza dandoti la risposta alla seconda parte
della tua domanda.
Pax vobiscum.
A.

 per la crittografia esiste la lockbox.
Domandina: l'hai usata "commercialmente"?
Se si, è fatta bene? No perché sai, tante volte la crittografia è
fatta di "implementazioni", quindi se non è stata pensata nel
modo corretto, potrebbe essere semplice da forzare.
Che sai dirmi?
Andrea

 fatta di "implementazioni", 
non ho capito... :-((
A.

 non ho capito... :-((
Neanche io...
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
ma nn cè qualcosa di gratuito??!
oppure utilizzare i file cer nativamente in Delphi (Delphi7)?!
cmq mi serve crittografare solo il campo del codice fiscale..
e mandare il DB


Neanche io...
Il problema di alcune implementazioni è che, per come sono state 
realizzate, rendono più facile il lavoro di crackers e 
critto-analisti in generale.
Quindi, oltre ad avere dei sistemi di cifratura "forte", servono 
anche delle *implementazioni* forti, cosa che - purtroppo - non è
sempre vera, specialmente se chi le realizza non è specializzato in
quel genere di cose.
Quindi mi chiedevo: i componenti LockBox, oltre alla sicurezza 
"teorica" dell'algoritmo, usano anche delle implementazioni
sufficientemente sicure?
Esistono infatti moltissimi modi per ricostruire una password,
alcuni dei quali si basano(pensa te) sulla velocità di accesso
agli array :D E' un argomento molto complicato da spiegare in
poche righe, ma una ricerca su google aiuterà.
Ciao,
Andrea Raimondi
--- posted by geoForum on 
http://www.delphiedintorni.it

 e mandare il DB
allora il certificato non ti serve. il certificato server per la FIRMA
non per la CRITTOGRAFIA.
rsa docet..
A.

 poche righe, ma una ricerca su google aiuterà.
appena ho  2 secondi do un occhiata.
Ma continuo a non capire di cosa stiamo parlando quando si parla di
"implementazione".
E' ovvio che tutti i sistemi hanno delle vulnerabilita.
La macchina "enigma" usata dai tedeschi durante la 2a guerra mondiale
aveva un "bug" partendo dal quale gli analisti alleati sono riusciti a
mettere in piedi dei sistemi per decodificarne i messaggi.
Il "bug" era semplicemente che enigma non restituiva mai una lettera
uguale a se stessa.
Cioè, codificando la lettera "A" l'algoritmo usato da enigma non
avrebbe MAI restituito "A".
A.

 A.
Andrea

 *difficilissimo* da crackare, uno scritto coi piedi, invece, no.
ti autosmentisci..
A.

 Un caso a parte sono i bug, ma quelli sono ovunque.
Quando si parla di crittografia e altre questioni legate alla sicurezza, 
entrano in gioco alcuni fattori che in altre condizioni sono poco 
significative e quindi non si possono chiamare "bug" ma che fanno la 
differenza tra un implementazione "sicura" e una "non sicura"
Pensa ad esempio il fatto di lasciare file temporanei a spasso per il 
disco, o anche non controllare in modo paranoico i dati in input: in 
condizioni normali non sono bug (o comunque non gravi) ma in ambito di 
sicurezza si e molto gravi.
Purtroppo questa consapevolezza e' poco diffusa tra gli sviluppatori, 
rendendo la vita di chi si occupa di sicurezza un vero inferno! :)
ciao
Giacomo

 oppure utilizzare i file cer nativamente in Delphi (Delphi7)?!
Probabilmente stai usando gli stessi termini per indicare due cose
differenti: siccome hai specificato in apertura del thread che sei digiuno
in materia, prova a darti un'infarinata veloce qui:
http://it.wikipedia.org/wiki/Firma_digitale
http://it.wikipedia.org/wiki/Crittografia
Detto questo, prova a vedere il progetto
http://sourceforge.net/projects/tplockbox/
e facci sapere se fa al caso tuo.
PS: non sottovalutare questa suite, perchè fino a qualche anno fa era un
potente tool commerciale, poi donato alla community del suftware libero una
volta chiusa la gloriosa turbopower.
Ciao
-- 
Morde

grazie 1000
studio tutto e vi faccio sapere!
ciao


 sicurezza si e molto gravi.
stendiamo un velo pietoso sul fatto di "lasciarli in giro"....
Usare questa tecnica con una cosa come la crittografia credo indichi 
seri problemi mentali...
A.