Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
txt
_______ __ __________
\ \ _____/ |\______ \__ __ ____ ____ ___________
______
/ | \_/ __ \ __\ _/ | \/ \ / \_/ __ \_ __ /
___/
/ | \ ___/| | | | \ | / | \ | \ ___/| |
\|___ \
\____|__ /\___ >__| |____|_ /____/|___| /___| /\___ >__|
/____ >
\/ \/ \/ \/ \/ \/
\/(r)
4 0 4
--------------------------------------------------------------------------
FrOm Spp to tHe NeT
NumEro DiEcI
SpeCiAl ChrIsTmaS
DeDiCaTed To GiOrGiA
--------------------------------------------------------------------------
Sommario:
---------
Editoriale
---------- By Brigante
Linux VS Windows
----------------------- By Azathoth
Il sistema GSM
-------------------- By Nick1
-=HTML SECTION=-
Editoriale
----------
by Brigante
----------
-SPP MeMbeR-
Brigante
-SPP MeMbeR-
================================================================================
===========
-= Master *** =-
SPP MEMBER
Master@spippolatori.com
www.spippolatori.com
Uno degli strumenti piu' utili in assoluto per la decifrazione dei messaggi
cifrati,
per il cracking o il bruteforce di sitemi protetti da password e' il generatore
di
dizionario.
I generatori di dizionario sono programmi che sulla base di alcune premesse
iniziali
creano ex novo una lista di vocaboli composti da un insieme limitato di sequenze
atomiche di caratteri permutandole tra di loro secondo le varie occorrenze
singolari.
Ad esempio considerando la lista
sp
o
s
t
ae
sp
o
s
t
ae
0123456789
0123456789
aioue
Pagina 3
netrun10.txt
il generatore creerebbe una lista contenente le parole :
10 REM anagrammi
20 INPUT L$(1),L$(2),L$(3),L$(4)
30 PRINT
40 FOR I1=1 to 4
50 FOR I2=1 to 4
60 IF I2=I1 THEN 130
70 FOR I3=1 TO 4
80 IF I3=I1 THEN 120
90 IF I3=I2 THEN 120
100 LET I4=10-(I1+I2+I3)
110 LPRINT L$(I1),L$(I2),L$(I3),L$(I4)
120 NEXT I3
130 NEXT I2
140 NEXT I1
150 END
Glissando sulle qualita' tecniche del grande scrittore per mia sincera e
profonda
devozione alla sua conoscenza in 'altre' discipline :)) ..
si vedono subito gli errori di concetto nella formulazione di un programma che
possa
fornire un metodo generale per risolvere il problema:
Errore 2: per ogni parola di N caratteri sono necessari almeno N-1 cicli
diversi e (n-2)!
controlli logici da riscrivere direttamente nel listato ogni qual
volta si
presenti una parola piu' lunga del previsto.
Ebbene si.
Pagina 4
netrun10.txt
Il modello piu' frequentemente usato (almeno da me) e' quello semplice del
modulo contatore
digitale.
quindi una cosa tipo VNpippoVVV con V==una vocale a caso, N== un numero a
Pagina 5
netrun10.txt
caso.
aeiou
0123456789
p
i
p
p
o
aeiou
aeiou
aeiou
a 0 p i p p o a a a
sp
o
s
t
ae
i display sono :
s o s t e
p o s t a
p o s t e
--------------------------------------------- dic.c
#include <stdio.h>
while(!feof(f)){
fgets(s,0xff,f);
c(n,strlen(s))s[n]=s[n]==13||s[n]==10?0:s[n];
strcpy(p[k],s);
r[k]=1;
u[k++]=strlen(p[k]);}
c(y,k)t*=u[y];
c(x,t){
g=k-1;
c(y,k)putchar(p[y][r[y]-1]);
r[g]++;
while(r[g]>u[g]){
r[g]=1;
r[--g]++;}
putchar(10);}
fclose(f);
}
---------------------------------------------
DIC per quanto possa sembrare piccolo e semplice e' un completo ed organizzato
--------------------------------------------- lista.txt
ps
o
s
t
ae
Pagina 7
netrun10.txt
---------------------------------------------
---------------------------------------------
sosta
soste
posta
poste
---------------------------------------------
--------------------------------------------- lista.txt
1
9
4
.
1
8
4
.
5
5
.
012
012345
0123456789
---------------------------------------------
---------------------------------------------
194.184.55.000
194.184.55.001
194.184.55.002
194.184.55.003
194.184.55.004
194.184.55.005
194.184.55.006
194.184.55.007
194.184.55.008
...
194.184.55.254
194.184.55.255
194.184.55.256
194.184.55.257
194.184.55.258
194.184.55.259
---------------------------------------------
la procedura che simula il sistema del contatore digitale e' tutta qui
c(y,k)putchar(p[y][r[y]-1]);
r[g]++;
while(r[g]>u[g]){
r[g]=1;
r[--g]++;}
Pagina 8
netrun10.txt
per questo:
c(y,k)putchar(p[y][r[y]-1]);
r[g]++
while(r[g]>u[g]){
r[g]=1
r[--g]++
Questo e' un esempio dello stesso programma per ottenere un serie non ripetuta
di
permutazioni di una parola di una lunghezza qualsiasi (sempre con lo schema
del
generatore di dizionari a premesse)
--------------------------------------------- per.c
#include <stdio.h>
while(!feof(f)){
fgets(s,0xff,f);
Pagina 9
netrun10.txt
c(n,strlen(s))s[n]=s[n]==13||s[n]==10?0:s[n];
strcpy(p[k],s);
r[k]=1;
u[k++]=strlen(p[k]);}
c(y,k)t*=u[y];
c(x,t){
g=k-1;
h=0;c(n,k)c(m,k)if(r[n]==r[m]&&n!=m)h=1;
if(h==0){c(y,k)putchar(p[y][r[y]-1]);putchar(10);}
r[g]++;
while(r[g]>u[g]){
r[g]=1;
r[--g]++;}}
fclose(f);
}
---------------------------------------------
h=0;c(n,k)c(m,k)if(r[n]==r[m]&&n!=m)h=1;
if(h==0){c(y,k)putchar(p[y][r[y]-1]);putchar(10);}
h=0;
quindi:
c(n,k)c(m,k)if(r[n]==r[m]&&n!=m)h=1
nel caso lo stato dei contatori considerati sia uguale (ed ovviamente i
due contatori siano diversi) la variabile di controllo viene messa ad 1.
if(h==0){c(y,k)putchar(p[y][r[y]-1]);putchar(10);}
.. solo nel caso in cui non si stiano considerando contatori a stato simile
si stampa il risultato del dispaly.
--------------------------------------------- lista.txt
IHAVEH
IHAVEH
IHAVEH
IHAVEH
IHAVEH
IHAVEH
----------------------------------------------
nel caso di DIC.C avremmo ottenuto con DIC lista.txt > dizio.txt
Ancora una volta senza usare cicli in piu' del solito while ed implementando
un solo doppio ciclo generale per la valutazione delle condizioni logiche di
Pagina 10
netrun10.txt
filtraggio .. con buona pace di Umberto Eco e del suo Abulafia. ;-)
Nel caso si riesca a penetrare con lo sguardo al di la' del normale incedere
lineare (unico strumento razionale a noi familiare) i risultati in termini di
velocita' e semplicita' non tarderanno a venire. ;-)
post
a o ergato i ino ato avo
oppure
ro ra ri re ru
ma mo me mi mu
no na
----------
posta
posto
postergato
posti
postino
postato
postavo
----------
----------
romano
romana
romono
romona
romeno
romena
romino
...
...
...
rumeno
rumena
rumino
rumina
rumuno
rumuna
-----------
nel secondo.
quindi sara' possibile dichiarare i due esempi precedenti con file input.txt
tipo questi:
-------------------------------input1.txt
\: post \.
\: a o ergato i ino ato avo \.
------------------------------
oppure
------------------------------ input2.txt
\: ro ra ri re ru \.
\: ma mo me mi mu \.
\: no na \.
------------------------------
il programma:
--------------------------------------------- DIC4.c
#include <stdio.h>
while(!feof(f)){
fscanf(f,"%s",s);
if(strstr(s,"\:"))k=0;
else if(strstr(s,"\.")){r[w]=1;u[w++]=k;}
else strcpy(p[w][k++],s);}
c(x,w){c(y,u[x])printf("%s ",p[x][y]);printf("\n");}
c(y,w)t*=u[y];
printf("\n%ld parole. \n\n",t);
c(x,t){
g=w-1;
c(y,w)printf("%s",p[y][r[y]-1]);
r[g]++;
while(r[g]>u[g]){
r[g]=1;
r[--g]++;}
putchar(10);}
fclose(f);
}
---------------------------------------------
- . -
Pagina 12
netrun10.txt
-= Master *** =-
SPP MEMBER
Master@spippolatori.com
www.spippolatori.com
I vari programmi in C per chi li volesse gia compilati sono acclusi di seguito
in formato UUCODE.
---------------------
LINUX VERSUS WINDOWS
---------------------
Forse questo sarebbe un valido argomento di discussione per una tavola rotonda,
ma ci tengo a dire quattro parole rivolte soprattutto a chi non è un grande
esperto e si sente ripetere da tutti "Installa Linux, winzoz non serve a
niente". Cercherò d'essere imparziale verso entrambe le piattaforme, cercando di
descriverne, a larghe linee, i principali svantaggi e vantaggi. Diciamo pure che
il 90% (se non di più) degli utenti utilizza Windows (NT, 95, 98 ecc...) quindi,
per uno smanettone è indispensabile conoscere il sistema operativo maggiormente
diffuso. Il fatto che un po' mi dà fastidio, è che la maggior parte delle
persone che sostiene che "Windows fa schifo", è costituita da inesperti che si
lasciano trascinare dalle idee degli altri. Prima di affermare una cosa del
genere almeno bisognerebbe saper programmare e conoscerne abbastanza bene il
funzionamento. Io di musica non ne capisco un cappero, perciò posso solo dire
che preferisco un autore ad un altro perché + motivo, ma non che l'altro sia
meno o più bravo. Sono entrambi dei sistemi molto validi, ma completamente
opposti. Ognuno ha i suoi vantaggi e svantaggi. La cosa migliore sarebbe quella
di averli entrambi in due partizioni separate. A proposito di questo discorso,
mi è venuta in mente un'altra questione che spesso m'irrita hehehe. La
stragrande maggioranza degli utenti decide di installare Linux lo fa perché si è
stufato di Windows. L'altra parte invece desidera conoscere nuove cose, poiché
conosce già un altro sistema approfonditamente. Beh, ogni individuo appartenente
alla prima categoria, subito dopo essere riuscito ad installare il nuovo amico,
si ritrova nei guai perché non può usare la shell grafica dato che Linux non gli
supporta la scheda e vari altri componenti hardware (ora comunque la situazione
sta rapidamente cambiando!). Il bello è che Unix non è nato per essere un
ambiente grafico, ma uno simile (solo per aspetto) al vecchio disk operating
disk (il dos insomma). Ma allora perché installare un altro sistema? Per farlo
assomigliare a quello che già si ha, aggiungendo nuovi e più complessi problemi?
Chi usa la shell grafica vuole evidentemente la comodità e maggior semplicità.
Per leggere il contenuto di un floppy bisogna scrivere un libro, è più facile
perciò farci click sopra. Ma questa non è una caratteristica (la più importante)
del prodotto della Microsoft (a dire la verità, a sua volta copiato dal mac)?
Anche io ho usato per un pò Linux e mi sono subito imbattuto in una shell dove
appariva addirittura anche il menù d'avvio (stesso discorso per kde). Quello che
voglio dirvi insomma è di non fare le cose solo perché sono gli altri a dirlo,
spesso, infatti, si dice "Windows, ma che ci fai? Installa Linux!" solo per far
vedere che si è bravi. Per usare questa piattaforma occorre un'ottima conoscenza
dei prottocolli, di C e una voglia di imparare e di tempo libero infinitamente
grandi. Ultima considerazione antinewbiecredulone: non è vero che Linux possa
fare delle cose su Internet che Win non sia in grado di supportare. E' una
menzogna. Infatti tutto dipende dai vari protocolli (TCP, UDP, IP, SMTP...) e
non dal sistema. Ad esempio molti credono di dover usare per forza Red Hat o
fratelli per usare lo spoofing. Errato: provate a dare un'occhiata alla dll
winsock.dll C'è il raw tcp, ovvero l'arte del forgiare i pacchetti a mano. Tutto
si può fare, basta saper programmare. Ora che ho finito questa specie di
introduzione, possiamo passare avanti.
Linux vs Windows: la stabilità. Qui c'è parecchia roba di cui parlare. C'è poco
Pagina 19
netrun10.txt
da commentare per quanto riguarda Linux, che è sicuramente più stabile sia di
NT, che di 95/98. Unix non si blocca mai, neanche se lo pestate o se date una
martellata all'hard disk :-) Window95/98 in questo campo hanno i loro problemi.
Molte volte il sistema crasha o diventa instabile. Perché? Beh, perché la Ms ha
deciso di sacrificare questo fattore a favore della semplicità d'uso. Sappiamo
benissimo che questo sistema riconosce una vastissima gamma di componenti e li
rileva automaticamente e inoltre supporta anche direct x e varie altre funzioni.
Linux non fa nessuna di queste cose. Inutile ripetere quanto spesso risulti
difficile installare del nuovo hardware o aggiornare il sistema operativo
stesso. Win costa una bella cifra, mentre l'altro è gratuito, fattore cruciale.
WinNt è un po' più stabile e ha, anche se in minor parte, gli stessi problemi di
Linux. Staremo a vedere cosa succederà con il nuovissimo Windows 2000. Qui il
vincitore è Linux (che batte 5-0 Win95/98, 1-0 WinNT), ma gli altri aspetti non
sono assolutamente da sottovalutare. Dipende insomma dai propri gusti e dalle
proprie esigenze. Ad esempio per quello che io faccio col pc preferisco il
prodotto della casa di Redmond.
Il supporto: Linux in questo campo è pessimo. WinNT non molto migliore, Win95/98
superiore ad entrambi. Il discorso però è uguale a prima. Se non ci tenete a
giocare con Half Life with Matrox G400 e non possedete un pc ultimo modello,
anche Linux può andare, visto che non sarebbe un ambiente grafico. Stessa cosa:
dipende dai propri gusti. (Win95/98- Linux = 5-0), (Linux-WinNt =
0-1).
Richiesta di risorse: nulla da dire. Linux gira su un 386, a Win95/98 occorre il
quadruplo d'ogni cosa. WinNT un po' meglio di Win95, ma sicuramente peggiore
dello sfidante diretto. E' un fattore determinate se siete in possesso di un pc
vecchiotto, è irrilevante se avete un processore superiore ad un Pentium 200
"liscio".
La facilità: terreno ostico per Linux, che è vinto da Win 10 a 0. Ma questo non
significa niente, perché noi desideriamo imparare un altro sistema (dato che
l'altro, sto facendo un discorso teorico, lo conosciamo) e se è difficile
meglio! Sarà più stimolante ;-) Altri aspetti non mi vengono in mente, ma il
concetto base e che né uno né l'altro è migliore, perché dipende dalle proprie
esigenze. Io consiglio di iniziare con Windows e di imparare a conoscerlo
abbastanza approfonditamente. E' inutile imparare due cose in malo modo. Meglio
salire i gradini uno per volta. Ci vuole molto tempo per capire Windows. Quanto?
Beh, quando saprete creare un'applicazione con più thread, usare file mappati in
memoria, semafori, mutex e usare le API della dll gdi, allora potrete passare a
Linux. E poi non abbiamo nemmeno accennato ad altri sistemi, che forse sono
anche loro molto validi (anzi, lo saranno sicuramente), semplicemente perché io
non li ho mai usati. Sto parlando di Os2 (per gli anti-ms: lo sapevate che Os2 è
frutto del lavoro di Microsoft ed IBM?), Mac (vabbè, questo è più di un sistema,
ma siamo semplicistici), BeOs, Solaris... Insomma, Linux versus Windows è solo
un capitolo, ciò che vi ho voluto dire è che dovete ragionare con la vostra
testa (e perciò non fidarvi sempre degli altri) e di imparare le cose un po' per
volta. Se conoscere vi piace, il tempo lo troverete.
Spero di non avervi fatto incavolare più del dovuto :-) Ciao e buona
riflessione.
-=Azathoth=-
================================================================================
===========
L'arte della crittografia di ADaM "Unno" unno@softhome.net
Sommario
Pagina 22
netrun10.txt
Per anni la regola generale è stata di creare algoritmi semplici e di
impiegare chiave molto lunghe per rendere difficile la vita al
criptoanalista. Oggi l'orientamento è opposto data la potenza di calcolo di
cui si può disporre per fare un bruteforce, quindi si creano algoritmi
complicatissimi da decifrare in modo che anche se il nostro avversario
avesse parecchio materiale su cui condurre un'analisi, gli sarebbbe
pressocchè inutile.
Oggi la crittografia serve per il commercio elettronico, l'autenticazione,
la riservatezza delle informazioni, etc. Uno dei presupposti fondamentali è
che si suppone che il criptoanalista di turno conosca in generale il nostro
metodo di crittografia, questo perchè è davvero un disastro cambiare ogni
volta metodo di crittografia ogni qual volta si ha il sospetto che qualcuno
sia riuscito a infrangerlo. Da questo presupposto segue che i metodi si
basano sulle chiavi di codifica e decodifica.
Se la chiave è la stessa sia per la codifica che per la decodifica
ricadiamo nel caso delle crittografia classica: questi sono i metodi a
chiave simmetrica o segreta. Gli algoritmi a chiave asimmetrica o pubblica
(che risalgono agli anni '70) utilizzano coppie di chiavi complementari.
Una delle due chiavi è pubblica e conosciuta da tutti e serve per cifrare i
messaggi, mentre l'altra è segreta e riservata al destinatario dei messaggi
che la utilizzerà per decifrarli. Le chiavi vanno a coppie e quindi solo
una chiave può decifrare il messaggio generato utilizzando la chiave a lei
complementare. In questo modo possiamo trasmettere tranquillamente la
nostra chiave pubblica senza paura che venga intercettata.
Standard federale ancora oggi ufficiale (nella versione triplo-des) per gli
USA, è nato nel 1977 per implementazioni per lo più hardware come
derivazione di Lucifer, un algoritmo di IBM nato nel '70, su insistenza del
National Bureau of Standard per difendere dati riservati ma non segreti
militari.
Il DES brevettato nel 1976 da IBM è royalty-free dal 1993.
Il DES è un codice cifrato a blocchi (si dice che un codice è cifrato a
blocchi quando si applica un codice cifrato a un bit, byte, parola o gruppi
di parole alla volta). Il blocco che si usa per crittografare è di 64 bits
(8 sottoblocchi da 8 bits). Dato che l'ultimo bit di ogni sottoblocco è di
controllo, i bit utili sono 56.
Per cifrare il testo si divide in blocchi da 64 bits che sono cifrati in
successione. Se un messaggio non riempie i 64 bits si può completare in
diversi modi: si possono aggiungere zeri, si possono aggiungere bit random
specificando nell'ultimo quanti se ne aggiungono, etc.
Il DES è molto usato in ambito commerciale perchè nonostante consti di
numerosi passaggi, questi sono tutti relativamenti semplici come XOR,
sostituzioni e permutazioni.
Pagina 23
netrun10.txt
Occorre ricordare che il DES cambia solo la chiave; questo porta vantaggi
economici immediati, ma appena verrà scoperto il modo per forzarlo (senza
bruteforce) occorrerà cambiare radicalmente tutto. Un altro difetto
fondamentale è lo spazio limitato delle chiavi pari a 2^56. Per ovviare al
problema si tenta di allungare le chiavi o di applicare più volte il DES
(triplo-DES o TDES).
Il progetto originale dell' IMB per il DES prevedeva una chiave più lunga
dei 56 bits usati di default. Probabilmente il progetto originario fu
influenzato dall'NSA che impose all'IBM una chiave sicura, ma comunque alla
portata dei loro potenti mezzi.
Violare il DES
Creato nel 1991 da Xuejja Lai e James L. Massey, è, come il DES, codice
cifrato a blocchi di 64 bits con chiave, però, di 128 bits. Anche IDEA usa
calcoli semplici basati su operazioni (addizioni e moltiplicazioni)
modulari, scambi e concatenamenti. Le sottochiavi usate nel procedimento
sono tutte diversi e a 16 bits.
Diffie-Hellmann
RSA
1) Prendiamo due numeri primi p(=3) e q(=11) molto grandi ed n(=33) sia il
loro prodotto.
3) Calcolare d(=7) in modo che: d*e=1 MODULO (p-1)(q-1). Significa che d*e
diviso (divisione intera) (p-1)(q-1) dà come risultato 1. Infatti
d*e=3*7=21/20=1.
plain-text cipher-text
0 _____________ 0
1 _____________ 1
2 _____________ 8
3 _____________ 27
4 _____________ 31 4*4*4=64 MODULO 33 = 31
5 _____________ 26 5*5*5=125 MODULO 33 = 125-(33*3)=26
6 _____________ 18 6^3=216-(33*6)=18
7 _____________ 13 7^3=343-(33*10)=13
8 _____________ 17 8^3=512-(33*15)=17
La chiave per l'RSA è il modulo n. Più è grande la chiave, più sarà sicura
(ma lenta) la cifratura. Con 1024 bits si è abbastanza (molto?) sicuri.
Per craccare un RSA a 256 bits basta un potente home computer; andando a
384 bits servirebbe un'organizzazione universitaria o una grande azienda;
la crittografia a 512 bits può essere superata da agenzie statali. Solo
chiavi a 2048 bits possono ritenersi sicure per qualche anno a ogni livello
(e chissà...).
Fattorizzato RSA-129
Nel marzo 1994, usando 1600 computer connessi a Internet, Atkins e altri
fattorizzarono un numero di 129 cifre (426 bits) in 8 mesi di lavoro.
Una studio del 1997 stimava in un milione di dollari il costo per forzare
un RSA con chiave a 512 bits.
Curiosità: il numero di numeri primi minori o uguali a n è asintotico a
n/ln n. Quindi il numero di numeri primi di lunghezza minore o uguale a 512
bits è di circa 10^150, cioè più grande del numero degli atomi
dell'universo conosciuto. Questo la dice lunga sull'enorme disponibilità di
chiavi diverse.
Fattorizzato RSA-140
Fattorizzato RSA-155
All'Eurocrypt '99, Adi Shamir (la S dell'acronimo RSA) presenta l'idea per
una macchina che potrebbe incrementare la velocità di fattorizzazione
attuale di 100-1000 volte. Chiamata TWINKLE (The Weizmann INstitute Key
Locating Engine), fattorizza chiavi di 512 bits.
La macchina opera essenziamente in due passi: il primo fa da setaccio e
attua una massiccia ricerca parallela di equazioni con una certa relazione.
Appena un certo numero di relazioni è trovato, c'è una massiccia operazione
matriciale per risolvere un'equazione lineare e produrre i fattori primi.
Pagina 26
netrun10.txt
Shamir ha teorizzato l'uso di tecniche elettro-ottiche per la prima fase di
setaccio, idea peraltro non nuova perchè si rifà a quella di D.H. Lehmer
che pensò nel 1930 di usare tecniche meccanico-ottiche. La macchina sembra
non sia ancora stata costruita. E' da notare che questa nuova macchina non
risolve il problema di prestazione del secondo passaggio che riguarda
operazioni sulla matrici. La complessità del secondo passaggio esplode
nella fattorizzazione di numeri enormi: con un numero a 1024 bit, per
esempio, il secondo passaggio richiederebbe 10 terabytes di memoria (non di
memoria di immagazzinamento ma di vera memoria per il computer).
Questa macchina non introduce nessun concetto matematico innovativo, ma
semplicemente esegue operazioni già conosciute più velocemente.
L I N K
Cryptographic Algorithms
http://www.cs.hut.fi/ssh/crypto/algorithms.html
CRYPTO-GRAM
A free monthly newsletter providing summaries, analyses, insights, and
commentaries on computer security and cryptography.
CRYPTO-GRAM is written by Bruce Schneier. Schneier is founder and CTO of
Counterpane Internet Security Inc., the author of "Applied Cryptography"
(John Wiley & Sons, Inc., 1996) and an inventor of the Blowfish, Twofish,
and Yarrow algorithms. He served on the board of the International
Association for Cryptologic Research, EPIC, and VTW.
http://www.counterpane.com/crypto-gram.html
Crypto++ is a fine, free crypto source code library. You can find download
Pagina 27
netrun10.txt
instructions on the Crypto++ home page at:
http://www.eskimo.com/~weidai/cryptlib.html
================================================================================
===========
Il sistema GSM
Il sistema GSM e' stato attivato ufficialmente in Italia nel'ottobre 1992, gli
apparati sono Ericsson, Siemens,
Italtel. (Omnitel usa Nokia)
Il GSM e' un sistema cellulare simile al TACS, ma mentre quest'ultimo e'
analogico il sistema GSM e' "digitale";
alcuni dei vantaggi del GSM sono:
- possibilita' di effettuare e ricevere chiamate all'estero dove il sistema e'
attivo.
- Segretezza delle informazioni (non e' possibili ascoltare le chiamate)
- Trasmissione dati
- Il numero abbonato e altri numeri per l'identificazione non risiedono nel
telefono come nel tacs, bensi' in
una carta chiamata SIM (Subscriber Identity Module)
- migliore qualita' della conversazione (ricostruzione dati persi)
- capacita' di traffico molto piu' ampie di quelle tacs
- molti servizi aggiuntivi (non elencati per ora)
Gli svantaggi sono dovuti alla gestione del sistema che e' molto piu' complessa
di quella tacs, problemi
d'interferenza dovuti alla ripetizione dei cluster (gruppi di frequenze che
identificano una serie di celle),
poche frequenze disponibili, problemi ancora tra apparati di case costruttrici
diverse, l'area di copertura
di una cella ridotta al massimo a 35 chilometri, ecc.
Diverse radio basi (BTS) sono collegate ad un unico BSC che ha il compito di
gestire handover, power control ed
altre funzioni; diversi BSC sono collegati ad un unico MSC che gestisce, tra le
altre, il collegamento tra la
rete GSM e la rete pubblica.
MSC e' collegato a database che gestiscono le informazioni degli abbonati che
'entrano nell'area' (VLR Visitor
Location Register) o che si sono registrati nell'area (HLR Home.... che contiene
inoltre informazioni relative
all'abbonamento)
Un telefono (MS) che si sposta in comunicazione tra un'area di copertura ed
un'altra effettua un 'handover',
il livello dell'handover puo' essere tra due BTS dello stesso BSC o tra due con
BSC diverse, o tra due MSC; in
quest'ultimo caso esistono ancora problemi (cadute).
A Livello logico una serie di radio basi vengono raggruppate sotto un'unica area
chiamata LA (Location Area).
Ogni singola cella ha un nome univoco in tutto il sistema GSM esistente; la
cella si identifica attaverso il CGI
(Cell Global Identity) che contiene l'identificativo della nazione, rete, LA e
numero cella.
Pagina 28
netrun10.txt
In ogni istante si conosce la posizione di ogni telefono presente sulla rete; il
telefono in fase di accensione
e di spegnimento si registra nella rete (vedremo poi come).
DATI TECNICI
Il sistema GSM e' un sistema cellulare, cioe' logicamente suddiviso in celle; di
solito una cella e' composta
da tre gruppi antenne messi 120 gradi l'uno dall'altro (3 BTS), ogni antenna e'
composta da 2 RX che sono le
piu' esterne per il diversity e una centrale TX (2 se esiste anche il tacs sullo
stesso traliccio).
Una serie di celle che contengano tutte le frequenze disponibili formano un
cluster; i cluster si ripetono,
per cui le frequenze vengono ripetute su tutto il territorio. Ogni singola BTS
puo' trasmettere su piu'
frequenze (vedremo in seguito)
Ogni frequenza GSM ha una larghezza di banda di 200 KHz suddivisa logicamente in
8 parti, cioe' e' in grado
di gestire 8 conversazioni contemporaneamente. La larghezza di banda viene
sfruttata per trasmettere delle
informazioni in pacchetti (frame), ogni frame contiene informazioni relative
alle 8 call. La frame di base cioe'
quella piu' piccola si chiama burst, e' composta da 142 bit + 14.25 bit di
inizio/fine per un totale di 156.25
bits. La durata di ogni singola frame e' di 0.577 ms. Esistono vari tipi di
burst, di correzione, di
sincronizzazione, di accesso ecc; 51 burst formano frame di 235 msec che e' la
configurazione standard;
frame dello stesso tipo vengono raggruppate per creare le informazioni che
circolano in ogni singolo canale
logico del GSM.
Ogni singolo burst o frame viene chiamato TDMA burst o frame, questo perche'
contiene informazioni relative
alle 8 call suddivise per divisione di tempo (TDMA Time Division Multiple
Access)
In ogni stato del telefono (idle, dedicated ecc), il MS sa che tipo di
informazioni andare a prendere dalle
frames generali; queste informazioni relative ad un singolo stato del MS vengono
raggruppate sottoforma di
canali GSM.
Abbiamo visto che col range di frequenze 900 MHz disponibili otteniamo 124
frequenze utilizzate dal sistema;
ogni frequenza ha 8 TS per cui 124*8 chiamate effettuabili contemporaneamente
(in realta' sono meno)
Ogni radio base, che chiamiamo BTS e' una cella, un sito e' invece composto da 2
o 3 BTS; per essere chiari:
quando si vedono in giro tralicci con 3 gruppi di 3 o 4 antenne direttive,
quello e' un sito composto da 3
radio basi o BTS e la copertura e' pari a 3 celle. A volte si identifica col
nome cella l'insieme delle 3 celle
formate da un sito.
Ogni BTS ha la possibilita' di gestire piu' di una frequenza chiamate portanti,
TI ne ha almeno 2 per radio
base, in Grecia ne hanno anche 6 per radio base; se ampliamo il discorso a molti
altri siti, si puo' capire
quale lavoro di pianificazione di copertura e di assegnamento di frequenze
esista dietro il sistema cellulare
GSM. Se poi si riscontrano interferenze e, quindi, la variazione di alcune
frequenze in uno o piu' siti, si
devono ripianificare tutte le frequenze dei cluster adiacenti.
REGISTRAZIONE
Questa registrazione viene fatta per aggiornare i database connessi all'MSC di
appartenenza, viene effettuata
una procedura di rilascio con la vecchia stazione (detta IMSI detach) e una
registrazione presso la nuova
(IMSI attach). Esiste la possibilita' di imporre al telefono una procedura di
registrazione periodica es. ogni
30 minuti; se non si ricevono informazioni dal MS durante questo periodo, l'MSC
si impone una procedura di
detach.
PAGING
Il telefono monitorizza sempre in idle mode il canale di paging; se si accorge
che e' in arrivo una chiamata
per lui parte la procedura di assegnamento del canale voce (chiamata). Il
messaggio di paging non cambia
all'interno di una stessa area.
ASSEGNAMENTO
Quando inizo una telefonata sia fatta dal MS che ricevuta, si attiva una
procedura di assegnamento del
canale voce detta ASSIGNEMENT
HANDOVER
Detto in parole povere e' la procedura di ROAMING effettuata in conversazione La
conversazione passa su
un'altra portante di un'altra BTS; non e' detto che venga mantenuto lo stesso
timeslot. Viene attivata la
procedura omonima.
INTRACELL HANDOVER
Dopo aver effettuato l'assegnamento del canale voce, e' possibile un nuovo
assegnamento su un'altra
portante della stessa cella. Se la BTS ha solo una portante, viene cambiato
timeslot.
FREQUENCY HOPPING
Durante una conversazione puo' accadere di fare un HANDOVER; se il sistema
gestisce il freq. hopping,
l'handover puo' essere effettuato su un'altra portante della stessa BTS; il
timeslot rimane lo stesso
anche dopo l'avvenuto handover. Attualmente il sistema non lo gestisce.
RELEASE
E' la chiusura della conversazione. Viene attivata la procedura omonima.
DISCONTINUOUS TRANSMISSION
E' la trasmissione discontinua; il MS in comunicazione puo' comporre delle frame
complete di informazioni
sulla codifica della voce anche se tra gli utenti non vengono scambiate parole;
Pagina 31
netrun10.txt
questo occupa inutilmente
il canale voce. La trasmissione discontinua durante una 'pausa' nella
conversazione permette al MS di
comporre delle frame di dimensioni ridotte.
POWER CONTROL
la BTS dice al MS in conversazione con quale potenza deve accedere nella sua
area di copertura, questo
limita il consumo delle batterie e crea minori interferenze. Questa informazione
viene inviata ogni 480
millisec.
TRASMISSIONE DATI
La strasmissione dati e' a tutti gli effetti una conversazione tra due utenti,
viene impiegato lo stesso canale
voce; la differenza e' che viene abilitata una 'porta' (SAPI) dedicata alla
trasmissione dati diversa da quella
attivata per una conversazione normale.
La stessa presenza o meno del LAYER 2 o 3 nella sequenza dei messaggi in una
qualsiasi procedura indica se
si sta svolgendo correttamente oppure no.
LOCATION UPDATING
Questa procedura viene attivata durante l'accensione del telefono oppure quando
si passa da un'area di
copertura (Location Area) ad un'altra
1- il telefono e' nello stato di idle
2- UP viene richiesto un canale (channel request)
3- DOWN viene assegnato (non realmente ancora) un canale (immediate assignment)
4- UP viene attivata la procedura location updating (request) (stabilito IMSI)
5- connessione a livello 2
6- DOWN location updating accettata o reject
7- UP scollegamento richiesto (channel release)
8- il telefono e' nello stato di idle
DEDICATED (CONVERSAZIONE)
Questa non e' una procedura; e' uno stato del telefono.
Ogni 480 millisec. il telefono manda in UP le misure delle celle adiacenti, TA,
TxPower, canale, bsic,
timeslot, livello, qualita' (Bit Error Rate) ecc.
la BTS invia sempre con la stessa tempistica informazioni relative al segnale ed
alla cella ricevuta, CGI,
Power Control, Tipo di trasmissione ecc; in piu' la BTS invia il valore di due
contatori chiamati rlink;
il primo indica sempre il valore massimo del contatore impostato in centrale; il
secondo viene decrementato
di una unita' se in UP il messaggio non e' stato correttamente decodificato,
mentre viene incrementato di
due unita' fino al valore massimo se il messaggio in UP viene codificato.
Il secondo contatore detto 'current rlink counter' se raggiunge il valore 0 fa
cadere la conversazione.
HANDOVER
1- il telefono e' in conversazione (dedicated mode)
2- la BTS si accorge che uno dei criteri per handover (qualita' cattiva,
segnale debole, distanza dalla BTS
Pagina 33
netrun10.txt
che supera i limiti impostati in centrale ecc) si e' verificato, di
conseguenza comanda al telefono di
effettuare handover (handover command DOWN)
3- UP il telefono converma la ricezione del comando
4- UP il telefono invia il messaggio di handover completato o fallito
5- Connessione a livello 2 con la nuova cella se handover completo oppure con
la vecchia cella se handover
fallito. Se la connessione a livello 2 con la nuova cella fallisce, si tenta
la connessione con la vecchia
cella; se la connessione con la vecchia cella fallisce, cade la
conversazione
6- il telefono continua la conversazione sulla nuova cella oppure rimane sulla
vecchia se l'handover e' fallito
Pagina 34
netrun10.txt
Ponti Radio Digitali
gamma 7 GHz modulazione QAM con costellazione a 64 punti usato per fasci 140
Mbit/sec e piu' raramente
per fasci a 70 Mbit/sec
gamma 11 GHz modulazione QAM con costellazione a 16 punti usato anche questo per
fasci a 140 Mbit/sec
gamma 13 GHz modulazione PSK a 4 fasi per fasci a 8 o 34 Mbit/sec
gamma 18 GHz modulazione PSK a 2 fasi per fasci a 2 o 8 Mbit/sec
Prospettiva ideale
A medio/lungo termine UTMS dovrebbe unificare, integrandoli, i diversi sistemi
esistenti con un'unica
interfaccia radio che consenta l'accesso a reti diverse, pubbliche o private,
attraverso un unico terminale.
Prospettiva realistica Visione orientata al mercato. Continuita' con l'attuale
tendenza che prevede lo
sviluppo di sistemi non necessariamente unificati a livello di interfaccia
radio, ma ritagliati sulle
esigenze specifiche dei diversi livelli di utenza
Il sistema UMTS
ú Servizi voce e dati per utenti mobili in qualunque tipo di ambiente (indoor
outdoor, urbano/rurale); con
le stesse potenzialita', in termini di servizio e penetrazione di mercato,
offerte dai sistemi attuali.
ú Ampio spettro di servizi offerti con velocita' fino a 2Mb/s, anche in ambienti
ad alta densita' di traffico.
ú Servizi a bit-rate variabile con alto grado di flessibilita'.
ú Estesa varieta' di terminali: dal personal communicator alle workstation
mobili.
ú Ambiente multi-operatore e con copertura mista (macro, micro e pico celle) per
garantire il servizio ad
utenti con caratteristiche di mobilita' e di traffico diverse.
ú Roaming nazionale, internazionale e globale.
GSM
ú canali di segnalazione associati a velocita' fissa.
ú capacita' del canale di traffico ridotta in modo non controllato a causa di
segnalazione "fast".
ú nessuna possibilita' di connessioni "multiple bearer" o asimmetriche.
ú corrispondenza biunivoca tra chiamata e connessione.
ú gestione delle risorse radio a livello 3.
DECT
ú canali di segnalazione associati a velocita' fissa.
ú capacita' del canale di traffico ridotta in modo prefissato.
ú separazione tra controllo e dati d'utente.
ú separazione tra chiamata e connessione.
ú gestione delle risorse audio a livello 2.
UMTS
ú canali di seganalazione associati a velocita' variabile.
ú capacita' del canale di traffico non ridotta (o ridotta in modo controllato) a
causa della segnalazione.
ú separazione tra controllo e dati d'utente.
ú separazione tra chiamata e connessione.
ú gestione delle risorse radio a livello 2.
GSM
ú Mobile assisted.
ú Backward handover.
ú Hard handover.
ú Handover tra entita' di rete per mantenere la continuita' della conversazione.
DECT
ú Mobile controlled.
ú Forward handover.
ú Seamless handover.
ú Handover tra livelli di protocollo per mantenere la continuita' della
conversazione.
UMTS
ú Network managed:
ú Network evaluated.
ú Mobile evaluated.
ú Forward/backward handover.
ú Soft handover + microdiverity.
ú Seamless handover per mantenere la continuita' e migliorare la qualita' della
conversazione.
GSM
ú servizi dati solo simmetrici
ú velocita' fino a 9.6 kb/s
ú una sola connessione per ogni chiamata
ú chiamate multiple su connessioni indipendenti
Pagina 36
netrun10.txt
ú variazione lenta della velocita'
DECT
ú servizi dati simmetrici e asimmetrici
ú velocita' fino a 384 kb/s (oltre 730 kb/s unidirezionali teorici)
ú connessioni multiple
ú chiamate multiple con connessioni condivise
ú variazione lenta della velocita'
UMTS
ú servizi simmetrici e asimmetrici
ú velocita' fino a 2Mb/s
ú connessioni multiple con connessioni condivise
ú variazione veloce della velocita'
Migrazione verso UMTS: Servizi dati a velocita' variabile
GSM
ú variazione solo da parte dell'utente (o del terminale)
ú variazione all'interno della singola connessione
ú variazione lenta
ú nessun impatto sulla disponibilita' delle risorse radio
DECT
ú variazione da parte del sistema e dell'utente
ú variazione all'interno della singola connessione con instaurazione/rilascio di
bearers piu' modificata della
larghezza di banda
ú variazione lenta
ú impatto sulla disponibilita' delle risorse radio solo nel caso di
instaurazione/rilascio dei bearers
UMTS
ú variazione da parte dell'utente e del sistema
ú variazione all'interno della singola connessione con instaurazione/rilascio di
bearers piu' modificata della
larghezza di banda
ú variazione veloce (frame by frame)
ú impatto sulla disponibilita' delle risorse radio
Cya.
-=Nick1=-
-=SPPGroup=-
================================================================================
===================
Tutti voi sapete cosa sono le card o,se non lo sapete,adesso lo imparate!
Le card sono tessere di plastica , di forma rettangolare , che al loro interno
incorporano un chip in grado di dialogare con il mondo.Esistono molteplici tipi
di card e molteplici metodologie di accesso ai dati in esse contenute , vediamo
di spiegare brevemente come sono fatte e a cosa servono.
Gli Standard
Come ogni cosa che si rispetti anche le card hanno uno standard al quale
adeguarsi.
In specifico , lo standard citato è il numero 7810 dei documenti creati dall'
ISO (International Standard Group , www.iso.ch).Questo documento specifica la
dimensione della tessera e tutti i valori di flessione,resistenza al calore ad
agli urti per questo tipo di carta.Invece lo standard ISO 7811 spiega quali sono
le aree che possono avere caratteri in rilievo e dove può essere messa la banda
magnetica (se necessaria).Ma quello che ci interessa davvero è l'ISO7816 che ci
spiega la dimensione dei contatti, la posizione dei contatti che altro non sono
Pagina 37
netrun10.txt
che i pin di un'integrato.
Le caratteristiche fisiche
Esistono come ho detto molti tipi di card, lcune basate su microprocessori che
possono dialogare con l'esterno,ed è quello che interessa a noi!Infatti, se una
persona disponesse di un programmatore di chipcard (dette anche smartcard)
potrebbe farsi le proprie applicazioni basate su di essa ,ma non c'è bisogno che
ve lo suggerisca io , vero?
Bene, adesso , a voi i tipi principali di card:
-contact smart card
-contactless smart card
-combi card
Le contact smart card sono le classiche card stile GSM che comunicano con le
altre apparecchiature tramite contatto fisico, me contactless invece hanno
incorporato un trasponder che comunica quindi via radio mentre le combi card
eseguono entrambi i tipi di connessione.
Tutto dipende da come sono state create, infatti sono molteplici i metodi di
lettura e di scrittura.
In linea di massima le card possono essere letta da:
-tutti
Questo tipo di card non ha password e poò essere letta da tutti, un esempio
italiano è la card della quale sono dotati i malati di schemio in cura a Napoli
che hanno una card con tutta la loro storia medica.
-solo dal possessore
Metodologia applicata massicciamente alle card GSM e richiede l'immissione del
codice PIN (Personal Identification Number).Dopo un numero X (spesso 3) di
tentativi infruttuosi la card si blocca e chiede un codice ulteriore di sblocco.
-solo da terze parti
Esempio classico è quello delle carte di credito a scalare.Quando la tessere è
esaurita solo chi la ha emessa è in grado di ricaricarla (in teoria:_] )
E adesso viene il bello ovvero come può essere configurata una card:
-in sola lettura (non permette l'aggiornamento)
-in solo aggiornamento (non permette la lettura)
-in sola aggiunta (non permette la lettura nè l'aggiornamento , solo la
riscrittura totale)
-inaccessibile (non ci si potrebbe fare nulla...)
Tutti questi diversi stati di lettura e scrittura sono ovviamente comandati dal
micro che è integrato nella carta , che vedremo in specifico più avanti.
Beh, non è che ci sia molto da scegliere, le metodologie sono solo due!
Sono conosciute con il nome di 'Wire Bonding' e di 'Tape Automatic Bonding'.
Pagina 38
netrun10.txt
Qui di seguito vi schematizzo la metodologia del 'Wire Bonding':
contatti dorati
/ | \
/ | \
------| ______ ________ _______ | - lato con contatti
| |_* \ * |___| * / * _| |
| | \--- / \---/ | |
| |______________________| |
|__________________________________| nicchia ricavata dalla card
-------- alto
|
| 1 5
lato inserimento | 2 6
| 3 7
| 4 8
|
-------- basso
Contatto 1:
VCC, consente di applicare tensione alla scheda, normalmente +5V con scostamento
del 10% in + o in -.L'amperaggio massimo secondo lo standard Iso7816-2 è di
200mA ma le schede attuali consumano al massimo 15mA.
Contatto 2:
RST, reset del micro,il tipo di segnale cambia a seconda del chip .
Contatto 3:
CLK, qui viene applicato il segnale di clock di riferimento per la
sincronizzazione.
Contatto 4:
Riservato ad applicazioni future.
Contatto 5:
Pagina 39
netrun10.txt
GND, massa comune , sia elettrica che logica.
Contatto 6:
VPP, ormai inutile, ma viene conservato per la compatibilità con il passato, il
quanto le prime sim usavano una memoria EEProm che necessitava di una seconda
tensione (+12,+21 o +25) per operare correttamente.
Contatto 7:
I/O, contatto di input/output per le informazioni elaborate dal chip.
Contatto 8:
Riservato ad applicazioni future.
Come si leggono?
================================================================================
==================
L'IDEA DI BASE
---------------
Questo metodo e' ottimo. Gia', e' ottimo se uno deve scrivere una DLL
per spiare le chiamate di sistema di un programma, oppure se
deve scrivere un debugger, ma a noi non serve a un casso. Perche' ?
Supponiamo di aver scritto una backdoor, in forma di DLL, e di
volerla iniettare in un programma.
Primo inconveniente: dobbiamo scrivere un exe che inietti la DLL e
quest'ultimo, essendo un semplice EXE, sara' visibile nella lista dei task.
Secondo inconveniente (molto piu' grave del primo): finche' l'exe
"iniettante" e' in esecuzione la backdoor funziona che e' una
meraviglia. Appena lo chiudiamo, perche' non vogliamo essere
visibili al task manager, il sistema scarica anche la DLL iniettata
mandando a puttane la nostra backdoor ed anche il programma
ospitante. Ok, ritorniamo a pescare, pensiamo, ci lasciamo scappare dalle
2 alle 3000 trote ma, alla fine, la soluzione e' chiara e limpida:
Shell Extensions. Vi vedo perplessi. Ma come non sentite una musica
trionfale nelle orecchie ? Ho detto proprio Shell Extensions, quel
meccanismo un po' oscuro per cui si puo' modificare il comportamento
di explorer per fargli visualizzare un menu' di contesto
(tasto destro) "personalizzato". Ad esempio Winzip usa questa tecnica
in modo che se voi da Gestione Risorse andate su un file e premete
il tasto destro appaiono, oltre alle voci standard previste da Micro$oft,
anche delle voci in piu' tipo "Aggiungi all' archivio ZIP", o "Crea un
nuovo ZIP".
Se un comune mortale tenta di avvicinarsi alla documentazione MSDN
per capire meglio il meccanismo rimane annichilito dalla mole di argomenti
di cui (teoricamente) dovrebbe essere a conoscenza, primo fra tutti COM
(Component Object Model). A questo suono, che purtroppo nulla ha a che fare
con le seriali, molti programmatori provano un senso di disagio che
sfocia in violenza repressa e manie di persecuzione. Ma (i "ma" hanno a volte
anche risvolti positivi !) fondamentalmente una ShellExtension, depurata
da tutto il surplus dei termini che tanto piacciono ai commerciali, e'
una DLL. Esattamente, e' una DLL che esporta almeno 4 funzioni :
DllRegisterServer()
DllUnregisterServer()
DllGetClassObject(...)
DllCanUnloadNow()
HKEY_CLASSES_ROOT\CLSID\LaNostrachiaveID
All' interno di questa chiave inseriamo il nome della shell (se vogliamo)
sottoforma di REG_SZ
HKEY_CLASSES_ROOT\CLSID\LaNostrachiaveID\InProcServer32
Allinterno 2 chiavi:
Default il percorso e il nome della DLL (REG_SZ)
ThreadingModel Apartment (REG_SZ)
HKEY_CLASSES_ROOT\*\shellex\ ContextMenuHandlers\LaNostrachiaveID
Questo permettera' al sistema di sapere che c'e' una shell extension
con id dato.
VANTAGGI E SVANTAGGI
--------------------
IL PROGRAMMA DI ESEMPIO
-----------------------
Saluti
Devil
PS: non sono mai andato a pesca..
mQGhBDcLDXsRBADN3pfrTF1wyHr3i2mSb6jbmltz+v1peHH7QR2U4w1ol35LZrad
6eFJ8pDomYsB5EzOvuNvcBW85lYNuPt0sBzP7XM40nR+3KRFVRyx8iXWpwVySCxi
GNHE8KlyqOUjkKvTq5ONT5okLKxteg+UP1SWqXPDWE2gNX/mrQb9i+JINwCg/6fW
i7gfN/BQ3ZmB/AAH51l9AjED/j/1+LvDSM4+COza45032fDw4XJqirDez9L9WbVB
Tkakook/TVvZYgSP2Fjl0S3bGcPmxhoWDDUhkf5y1zDjORh5LlQJsy2oU0xty6Ts
8Phugs3i663sbqoiuDm4o3t3INcpGclJEcMdSzCV9vpodCM/O/dvuOx1BnPuzAO0
dApGA/jVq7eElzsFpwvXfjmBVi2+/3YAtTqXRc25qzMyFF69O8LNCBOSrdRYgp/V
AIrmTydf8lrZ+DvKKgvowW5ugBTPU4/8O50EFFu22F7qzmJg/zBVYVZJNKgZqn/x
Uv2lyK1EGx/q3e0+MPFeYLCOsexYhcVjtjx/ppyPctjQm9bHtBtEZXZpbCA8ZHNk
ZXZpbEBob3RtYWlsLmNvbT6JAEsEEBECAAsFAjcLDXsECwMCAQAKCRCXlhwyz7jI
PG0VAJ0fmRZifO2Yj9+vZn/C9bwGRMFnDwCg3EeqVBjMZ/mHbmTx1SNv4TA6+Gq5
Ag0ENwsNexAIAPZCV7cIfwgXcqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9A
VfPQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D49Vlf3HZSTz09jdvOmeFXklnN/biu
dE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNbno2gpXI61Brwv0YAWCvl9Ij9WE5J
280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhdONM0/XwX
V0OjHRhs3jMhLLUq/zzhsSlAGBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG
0wg9ZqRdQZ+cfL2JSyIZJrqrol7DVekyCzsAAgIH/09TSmtAEjEn93/Kfe1WOhyh
NZ4mBkzLN9ipTvFXDtkWZF38VPG2I9JGrf/yIExPDziVSK61R4D2GRLBjF3oUmAM
5RNSL0WvWKhq3dDBHAqz72wT6pDWqnKkl/rx/ezoS8CsqowwMfrn6RovFw0sBzDa
WO5ij0OBDU+OSQ5WwsH7es4Ze29OFp6K1hM7ZFR42Y/ydsBBWuXllx3Al80FleHs
gATXYPiJnwj26PJ9X5OuJjCppM5KoLZE4kvYwG+Fjnmmu3KpDMYq4tZiI0MXlQU0
Z2GM7l/aKFKcaRBdBctSPOr/8Pgy2jbWHjVlavXZ1w3VtVsRPOopzTWM8OLpkaqJ
AEYEGBECAAYFAjcLDXsACgkQl5YcMs+4yDwQSACg6PVdTEbF/bDws6NoE4BqiaF9
aEYAoINORHKbMJeML94MxrK8SjDWpPg/
=9cnn
-----END PGP PUBLIC KEY BLOCK-----
Pagina 44