Informatica Professionale
L' Era dell' Informatica
Negli ultimi decenni lo sviluppo dell' informatica è stato esponenziale. In ogni settore lavorativo e sociale l' uso dei dispositivi informatici è diventato ormai indispensabile, nonchè un minimo bagaglio culturale per il corretto utilizzo degli stessi. Una non indiferente percentuale della popolazione, specialmente quella appartenente alle vecchie generazioni riscontrano importanti ostacoli con l' interfacciamento di tali tecnologie. L' Attività 'BONU SISTEMI' sorge nel cuore della Sardegna (territorio con carenza di servizi informatici) per venire incontro a questi problemi.
I nostri servizi
Riceverete le soluzioni a tutti i vostri problemi in breve tempo e soprattutto, sarete SODDISFATTI o RIMBORSATI
Consulenza
Vi forniamo un servizio gratuito di consulenza per facilitare le vostre scelte sull' acquisto e la gestione di dispositivi informatici
Assistenza
Riceverete la migliore assistenza per un funzionamento ottimale dei vostri PC ed apparati ad essi connessi
Formazione
Organizziamo corsi di base e corsi avanzati per utenti di qualsiasi fascia di età
Servizi Web
Realizziamo siti personalizzati, per soddisfare tutte le esigenze. Per maggiori dettagli vi consigliamo di contattarci per fissare un incontro, oppure visionate la sezione relativa in questo sito
Mac OS
Mac Os acronimo di Macintosh Operating System, è il sistema operativo sviluppato da Apple per i computer Macintosh...
Read MoreWindows
Il 30 settembre 2014, Microsoft ha annunciato e presentato il successore di Windows 8.1, Windows 10, l'ultima versione di Windows. La versione finale è ufficialmente disponibile dal 29 luglio 2015 come aggiornamento gratuito per i possessori di una licenza Windows 7 e Windows 8/8.1 originale.
Read MoreLinux
Il kernel Linux vide la luce nell'agosto 1991 grazie al giovane studente finlandese Linus Torvalds. Il kernel Linux, uno dei più riusciti esempi di software open source,[13] costituisce il nucleo dei sistemi operativi della famiglia di Linux.[14] Il kernel Linux è stato rilasciato sotto la licenza libera GNU GPL, ed è sviluppato da collaboratori di tutto il mondo. Ogni giorno lo sviluppo avviene sfruttando la mailing list di Linux.
Read MoreCome funziona la PEC
I messaggi di posta certificata vengono spediti tra 2 caselle, e quindi Domini, certificati.
Quando il mittente possessore di una casella PEC invia un messaggio ad un altro utente certificato, il messaggio viene raccolto dal gestore del dominio certificato (punto di accesso) che lo racchiude in una Busta di Trasporto e vi applica una firma elettronica in modo da garantirne provenienza e inalterabilità. Successivamente il messaggio viene indirizzato al gestore PEC destinatario, che verificata la firma, provvede alla consegna al ricevente (punto di consegna). A questo punto il gestore PEC destinatario invia una Ricevuta di Avvenuta Consegna al mittente, che può quindi essere certo che il suo messaggio è giunto a destinazione. Durante la trasmissione di un messaggio attraverso 2 caselle PEC vengono emesse altre ricevute che hanno lo scopo di garantire e verificare il corretto funzionamento del sistema e di mantenere sempre la transazione in uno stato consistente.
In particolare:
- Il punto di accesso, dopo aver raccolto il messaggio originale, genera una ricevuta di accettazione che viene inviata al mittente; in questo modo chi invia una mail certificata sa che il proprio messaggio ha iniziato il suo percorso.
- Il punto di ricezione, dopo aver raccolto il messaggio di trasporto, genera una ricevuta di presa in carico che viene inviata al gestore mittente; in questo modo il gestore mittente viene a conoscenza che il messaggio è stato preso in custodia da un altro gestore La Posta Certificata sfruttando crittografia e protocolli di sicurezza riesce a fornire agli utenti un servizio sicuro che sostituisce integralmente il tradizionale servizio di posta (elettronica e cartacea), mettendosi inoltre al riparo da spam, abusi e disguidi.
Tutto ciò è possibile grazie alle caratteristiche del servizio PEC riportate di seguito:
- il messaggio proviene da un gestore di posta certificato e da uno specifico indirizzo e-mail certificato;
- il messaggio non può essere alterato durante la trasmissione;
- privacy totale della comunicazione, avvenendo lo scambio dati in ambiente sicuro;
- garantisce al mittente la certezza dell’avvenuto recapito delle e-mail alla casella di Posta Certificata destinataria, con la spedizione di una ricevuta di consegna, in modo analogo alla tradizionale raccomandata A/R (e con lo stesso valore legale);
- garantisce il destinatario da eventuali contestazioni in merito ad eventuali messaggi non ricevuti e dei quali il mittente sostiene l’avvenuto l’invio;
- garantisce in modo inequivocabile l’attestazione della data di consegna e di ricezione del messaggio e conserva la traccia della comunicazione avvenuta fra mittente e destinatario.
Fra le caratteristiche salienti è da evidenziare che nel caso in cui il mittente smarrisca le ricevute, la traccia informatica delle operazioni svolte viene conservata – in base al Decreto – per 30 mesi in un apposito registro informatico custodito dai gestori stessi: tale registro ha lo stesso valore giuridico delle ricevute.
Cosa succede se una casella Pec Aruba invia un messaggio a un indirizzo di Posta Ordinaria?
Nel caso in cui un account Pec di Aruba invii un messaggio ad un indirizzo di posta elettronica ordinaria, la casella Pec riceverà la Ricevuta di Accettazione ma NON quella di Avvenuta Consegna.
Il destinatario pertanto riceverà la comunicazione ma non verrà inviata al mittente la Ricevuta di Avvenuta consegna.
In questo caso, se il destinatario tenta di rispondere all’e-mail, riceve una notifica di errore (MAILER-DAEMON), salvo la casella Pec mittente non sia configurata in modo tale da ricevere messaggi di posta ordinaria.
Cosa succede se una casella di Posta Elettronica Ordinaria invia un messaggio ad una casella Pec di Aruba?
Nel caso in cui un mittente NON certificato invii un’e-mail ad una casella di Posta Certificata attivata su Aruba, otterrà in risposta un messaggio di errore per mancata consegna (MAILER-DAEMON). Il server di posta Aruba, provvederà a respingere tale messaggio senza inviare alcuna notifica al destinatario.
Sarà comunque possibile variare questa impostazione attraverso il Pannello di Gestione della casella.
Il messaggio di errore (MAILER-DAEMON) verrà inviato al mittente se la casella certificata alla quale ha inviato l’e-mail è gestita dai server Aruba. Nel caso in cui la casella Pec risulti attivata con un gestore certificato diverso da Aruba PEC, l’accettazione o meno del messaggio dipenderà dalla Policy e/o dalla regolamentazione di tale gestore.
Creare uno short, Youtube
- Preparazione: Pensa al contenuto che vuoi condividere. Gli Shorts sono video brevi (fino a 60 secondi), quindi cerca di mantenere il messaggio chiaro e conciso.
- Registrazione: Puoi registrare direttamente tramite l’app YouTube. Seleziona l’icona “+” e poi “Crea un Short”. Puoi anche caricare un video già registrato.
- Editing: Usa le funzioni di editing disponibili nell’app per aggiungere musica, testo o effetti speciali. Gli Shorts possono avere diverse impostazioni di velocità e timer.
- Descrizione e Tag: Aggiungi un titolo e una descrizione accattivante. Utilizza hashtag pertinenti, come #Shorts, per aumentare la visibilità.
- Pubblicazione: Una volta soddisfatto del tuo video, pubblicalo. Puoi anche scegliere le impostazioni di privacy.
- Promozione: Condividi il tuo Short sui social media o chiedi ai tuoi amici di guardarlo e condividerlo.
Creazione Sito Web – Linee guida
1. Pianificazione e Ricerca
a. Definisci gli obiettivi del sito:
- Scopo del sito (informativo, e-commerce, portfolio, blog, ecc.).
- Target audience.
- Funzionalità necessarie (login, carrello, ricerca avanzata, ecc.).
b. Analisi della concorrenza:
- Esamina i siti web dei concorrenti per identificare cosa funziona bene e cosa no.
- Prendi nota delle caratteristiche che potrebbero essere utili per il tuo sito.
c. Pianificazione del contenuto:
- Struttura del sito (mappa del sito).
- Creazione di wireframe per visualizzare la disposizione delle pagine.
2. Scelta della Tecnologia
a. Front-end:
- HTML, CSS, JavaScript.
- Frameworks: React, Angular, Vue.js.
b. Back-end:
- Linguaggi: Python (Django, Flask), JavaScript (Node.js), PHP (Laravel), Ruby (Rails).
- Database: MySQL, PostgreSQL, MongoDB.
c. CMS (Content Management System):
- WordPress, Joomla, Drupal (per siti con contenuti gestiti dinamicamente).
3. Design
a. UI/UX Design:
- User Interface (UI): Progettazione grafica delle pagine, scelta dei colori, font, icone.
- User Experience (UX): Navigazione intuitiva, disposizione logica dei contenuti, interazioni utente.
b. Prototipazione:
- Utilizzo di strumenti come Figma, Adobe XD, Sketch per creare prototipi interattivi.
c. Responsive Design:
- Assicurati che il sito sia ottimizzato per vari dispositivi (desktop, tablet, mobile).
4. Sviluppo
a. Front-end Development:
- Implementazione del design con HTML, CSS e JavaScript.
- Utilizzo di framework e librerie per migliorare l’efficienza (Bootstrap, Tailwind CSS).
b. Back-end Development:
- Configurazione del server e database.
- Implementazione delle funzionalità server-side.
- Gestione dell’autenticazione e autorizzazione utenti.
c. Integrazione:
- Collegamento del front-end con il back-end tramite API.
- Integrazione con servizi di terze parti (ad esempio, servizi di pagamento, mappe, social media).
5. Sicurezza
a. Protezione dei dati:
- Uso di HTTPS per criptare la trasmissione dei dati.
- Implementazione di meccanismi di protezione contro SQL injection, Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF).
b. Autenticazione e autorizzazione:
- Utilizzo di protocolli sicuri come OAuth2.
- Implementazione di politiche di password forti.
c. Backup e Recovery:
- Configurazione di backup regolari dei dati.
- Pianificazione di una strategia di disaster recovery.
6. Testing
a. Test di unità:
- Verifica delle singole componenti del sito per assicurarsi che funzionino correttamente.
b. Test di integrazione:
- Verifica che le diverse componenti del sito funzionino bene insieme.
c. Test di sicurezza:
- Esecuzione di test di vulnerabilità.
- Utilizzo di strumenti come OWASP ZAP, Burp Suite.
d. Test di usabilità:
- Raccolta di feedback dagli utenti.
- Apportare miglioramenti basati sul feedback.
7. Deployment e Manutenzione
a. Deployment:
- Scelta di un servizio di hosting affidabile.
- Configurazione di un ambiente di produzione.
- Utilizzo di CI/CD (Continuous Integration/Continuous Deployment) per automatizzare i rilasci.
b. Monitoraggio e Manutenzione:
- Monitoraggio delle performance del sito.
- Aggiornamento regolare del software e delle dipendenze.
- Gestione dei bug e degli aggiornamenti di sicurezza.
8. Marketing e SEO
a. Ottimizzazione per i motori di ricerca (SEO):
- Utilizzo di parole chiave pertinenti.
- Ottimizzazione dei meta tag, descrizioni, e contenuti.
b. Marketing digitale:
- Utilizzo di social media, email marketing, e pubblicità online per promuovere il sito.
- Monitoraggio delle metriche di traffico e conversione.
9. Feedback e Miglioramento Continuo
a. Raccolta di feedback dagli utenti:
- Sondaggi, questionari, analisi delle recensioni.
b. Analisi delle prestazioni:
- Utilizzo di strumenti come Google Analytics per monitorare il comportamento degli utenti.
c. Iterazione e miglioramento:
- Apportare miglioramenti continui basati sul feedback e sulle analisi.
Seguendo questo percorso, sarai in grado di creare un sito web che non solo soddisfa le esigenze attuali ma è anche pronto per crescere e adattarsi nel tempo.
Accedere a un Mac da un pc Windows tramite rete WI-FI
Connettere entrambi i PC alla WI-FI.
Configurare IPv4 manualmente
Sul Mac:
- Abilita la Condivisione File:
- Vai su Preferenze di Sistema.
- Seleziona Condivisione.
- Assicurati che Condivisione file sia selezionato.
- Configura le Cartelle Condivise:
- Nella finestra di Condivisione, sotto Cartelle condivise, clicca su + e aggiungi le cartelle che desideri condividere.
- Configura i permessi per ciascuna cartella selezionata, scegliendo gli utenti che possono accedere (lettura e scrittura, solo lettura, ecc.).
- Abilita SMB:
- Clicca su Opzioni… nella finestra di Condivisione.
- Assicurati che Condividi file e cartelle usando SMB sia selezionato.
- Seleziona gli account utente che possono accedere ai file condivisi tramite SMB.
- Nota l’indirizzo IP del Mac:
- Vai su Preferenze di Sistema > Rete.
- Seleziona la connessione attiva (Wi-Fi o Ethernet) e annota l’indirizzo IP.
Sul PC Windows:
- Apri Esplora File:
- Premi
Win + E
per aprire Esplora File.
- Premi
- Accedi al Mac:
- Nella barra degli indirizzi, digita
\\<indirizzo_IP_del_Mac>
e premiInvio
. - Sostituisci
<indirizzo_IP_del_Mac>
con l’indirizzo IP annotato del Mac (esempio:\\192.168.1.2
).
- Nella barra degli indirizzi, digita
- Inserisci le Credenziali:
- Se richiesto, inserisci le credenziali dell’account utente del Mac abilitato per la condivisione SMB.
- Dopo aver inserito le credenziali corrette, dovresti essere in grado di vedere e accedere alle cartelle condivise del Mac.
Suggerimenti:
- Nome Host: Invece dell’indirizzo IP, puoi usare il nome host del Mac, che può essere trovato e configurato in Preferenze di Sistema > Condivisione. Solitamente è qualcosa come
MacBook-Pro.local
. - Connessione Persistente: Puoi mappare la cartella di rete su Windows per un accesso più rapido in futuro. Fai clic con il pulsante destro del mouse sulla cartella condivisa e seleziona Mappa unità di rete…, quindi segui le istruzioni.
Si possono salvare i dati di un SSD anche se questo è difettoso?
Sì, in molti casi è possibile recuperare i dati da un SSD difettoso, anche se il successo del recupero dipende dalla natura del guasto. Ecco alcune strategie e soluzioni comuni per il recupero dei dati da un SSD difettoso:
- Collegamento a un altro computer: Se il problema non è grave, provare a collegare l’SSD a un altro computer come un’unità esterna utilizzando un adattatore o un case esterno. A volte, il problema potrebbe essere legato al computer o alla connessione originale.
- Utilizzo di software di recupero dati: Esistono molti programmi di recupero dati che possono aiutare a recuperare i file da un SSD difettoso. Alcuni dei più noti includono:
- Recuva
- EaseUS Data Recovery Wizard
- Disk Drill
- R-Studio
- Riparazione del firmware: Se il problema riguarda il firmware dell’SSD, a volte è possibile ripararlo o aggiornarlo utilizzando gli strumenti forniti dal produttore dell’SSD. Questo potrebbe ripristinare l’accesso ai dati.
- Recupero dati professionale: Se le soluzioni fai-da-te non funzionano o se l’SSD ha subito un danno fisico, potrebbe essere necessario rivolgersi a un servizio di recupero dati professionale. Questi servizi dispongono di attrezzature specializzate e competenze per recuperare dati anche da dispositivi gravemente danneggiati. Tuttavia, questi servizi possono essere costosi.
- Clonazione dell’unità: In alcuni casi, potrebbe essere possibile clonare l’SSD su un altro dispositivo, copiando i dati direttamente bit per bit. Questo può essere fatto utilizzando software di clonazione come Clonezilla o Acronis True Image.
- Verifica delle connessioni: A volte, il problema potrebbe essere causato da una cattiva connessione tra l’SSD e la scheda madre o il cavo di alimentazione. Controllare e assicurarsi che tutte le connessioni siano salde.
È importante agire rapidamente quando si sospetta un guasto dell’SSD per aumentare le possibilità di recupero dei dati. Inoltre, mantenere backup regolari dei dati importanti è la migliore strategia per prevenire la perdita di dati in caso di guasto dell’hardware.
Un SSD può rompersi?
Sì, un SSD (Solid State Drive) può rompersi. Anche se gli SSD sono generalmente più affidabili e duraturi rispetto ai tradizionali hard disk meccanici (HDD) grazie all’assenza di parti mobili, possono comunque subire guasti per diverse ragioni. Alcuni dei motivi più comuni includono:
- Usura delle celle di memoria: Gli SSD utilizzano celle di memoria flash che hanno un numero limitato di cicli di scrittura e cancellazione. Con il tempo e l’uso intenso, queste celle possono deteriorarsi, portando alla perdita di dati o al guasto dell’unità.
- Difetti di fabbricazione: Come qualsiasi altro componente elettronico, gli SSD possono avere difetti di fabbricazione che potrebbero causare guasti prematuri.
- Guasti del controller: Il controller dell’SSD è responsabile della gestione dei dati sull’unità. Se il controller si guasta, l’SSD può diventare inutilizzabile.
- Problemi di alimentazione: Interruzioni di corrente o sbalzi di tensione possono danneggiare gli SSD, causando perdite di dati o guasti dell’unità.
- Surriscaldamento: Temperature elevate possono ridurre la durata degli SSD e causare guasti prematuri.
- Corruzione del firmware: Un firmware difettoso o corrotto può portare a problemi di funzionamento dell’SSD.
Anche se gli SSD possono rompersi, ci sono alcuni accorgimenti che possono aiutare a prolungare la loro vita utile, come evitare di riempirli completamente, mantenere aggiornato il firmware e proteggere il computer da sbalzi di corrente. Inoltre, è sempre una buona pratica fare regolarmente backup dei dati importanti per evitare perdite in caso di guasto del drive.
Animazione Fade – X
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″> <title>Document</title>
<!– AOS CSS –>
<link href=”https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.css” rel=”stylesheet”>
</head>
<body>
<!– Your image with AOS animation –>
<img src=”your-image.jpg” alt=”Description of image” data-aos=”fade-right”>
<!– AOS JS –>
<script src=”https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.js”>
</script>
<script> AOS.init(); </script>
</body>
</html>
Funzione di hash
Un hash, in informatica, è il risultato di una funzione di hash, che è un algoritmo che trasforma un input (o “messaggio”) di lunghezza arbitraria in un output di lunghezza fissa, generalmente una sequenza di numeri e lettere. Questo output è comunemente chiamato “digest” o “impronta digitale”.
Caratteristiche di una funzione di hash
- Deterministica: La stessa input produce sempre lo stesso output.
- Velocità di calcolo: Deve essere veloce da calcolare per qualsiasi input.
- Output di lunghezza fissa: Indipendentemente dalla lunghezza dell’input, l’output avrà una lunghezza fissa (ad esempio, 256 bit per SHA-256).
- Pre-immagine resistente: Dato un hash, dovrebbe essere computazionalmente difficile risalire all’input originale.
- Seconda pre-immagine resistente: Dato un input e il suo hash, dovrebbe essere difficile trovare un altro input che produca lo stesso hash.
- Resistente alle collisioni: Dovrebbe essere difficile trovare due diversi input che producano lo stesso hash.
Utilizzi degli hash
- Verifica dell’integrità dei dati: Confrontando l’hash di un file o messaggio con un hash noto, si può verificare che il file o messaggio non sia stato alterato.
- Firma digitale: Gli hash sono usati per generare firme digitali, che garantiscono l’autenticità e l’integrità dei messaggi.
- Archiviazione sicura delle password: Le password vengono spesso archiviate sotto forma di hash per impedire che vengano recuperate in caso di compromesso del database.
- Hashing nelle strutture dati: Le tabelle hash utilizzano funzioni di hash per mappare chiavi a valori in modo efficiente.
- Blockchain e criptovalute: Gli hash sono fondamentali nel funzionamento delle blockchain, dove garantiscono l’integrità e la sicurezza delle transazioni.
Esempio di funzioni di hash
Alcune delle funzioni di hash più comuni includono:
- MD5: Produce un hash di 128 bit. Non è più considerato sicuro per molte applicazioni a causa delle vulnerabilità alle collisioni.
- SHA-1: Produce un hash di 160 bit. Anche questo non è più considerato sicuro per molte applicazioni.
- SHA-256: Parte della famiglia SHA-2, produce un hash di 256 bit ed è ampiamente utilizzato.
- SHA-3: L’ultima famiglia di funzioni di hash standardizzata, con diverse varianti (SHA3-224, SHA3-256, SHA3-384, SHA3-512).
Esempio pratico di un hash
Consideriamo l’input “hello world” e la funzione di hash SHA-256. L’hash prodotto sarà una stringa esadecimale di 64 caratteri (256 bit):
Input: “hello world”
SHA-256 Hash: b94d27b9934d3e08a52e52d7da7dabfae7f4fa80ad21e1009f99e2519f82dd0d
In sintesi, un hash in informatica è uno strumento essenziale per la sicurezza e l’integrità dei dati, utilizzato in una vasta gamma di applicazioni per garantire che le informazioni siano autentiche e non alterate.
Crittografia RSA
La crittografia RSA (Rivest-Shamir-Adleman) è uno dei sistemi di crittografia a chiave pubblica più utilizzati. È basata su problemi matematici complessi, come la fattorizzazione di numeri grandi, che la rende sicura per l’uso nella protezione dei dati. Ecco una panoramica dettagliata su come funziona RSA:
1. Generazione delle chiavi
La generazione delle chiavi è la fase iniziale e coinvolge i seguenti passaggi:
- Scelta dei numeri primi: Si scelgono due numeri primi grandi e distinti, ppp e qqq.
- Calcolo di nnn: Si moltiplicano ppp e qqq per ottenere nnn. n=p×qn = p \times qn=p×q
- Calcolo di ϕ(n)\phi(n)ϕ(n): Si calcola la funzione di Eulero di nnn, indicata come ϕ(n)\phi(n)ϕ(n), che è: ϕ(n)=(p−1)×(q−1)\phi(n) = (p-1) \times (q-1)ϕ(n)=(p−1)×(q−1)
- Scelta dell’esponente pubblico eee: Si sceglie un numero intero eee tale che 1<e<ϕ(n)1 < e < \phi(n)1<e<ϕ(n) e che sia coprimo con ϕ(n)\phi(n)ϕ(n) (ossia eee e ϕ(n)\phi(n)ϕ(n) non hanno divisori comuni diversi da 1).
- Calcolo dell’esponente privato ddd: Si calcola l’inverso moltiplicativo di eee modulo ϕ(n)\phi(n)ϕ(n), ovvero ddd deve soddisfare: d×e≡1mod ϕ(n)d \times e \equiv 1 \mod \phi(n)d×e≡1modϕ(n)
2. Chiavi pubbliche e private
- Chiave pubblica: Composta dalla coppia (e,n)(e, n)(e,n).
- Chiave privata: Composta dalla coppia (d,n)(d, n)(d,n).
3. Cifratura
Per cifrare un messaggio mmm (che deve essere un numero inferiore a nnn), si utilizza la chiave pubblica (e,n)(e, n)(e,n) e si esegue la seguente operazione:c=memod nc = m^e \mod nc=memodn
Dove:
- mmm è il messaggio in chiaro.
- ccc è il testo cifrato.
4. Decifratura
Per decifrare il testo cifrato ccc, si utilizza la chiave privata (d,n)(d, n)(d,n) e si esegue la seguente operazione:m=cdmod nm = c^d \mod nm=cdmodn
Dove:
- ccc è il testo cifrato.
- mmm è il messaggio in chiaro originale.
Esempio pratico
Supponiamo di avere i seguenti valori:
- p=61p = 61p=61
- q=53q = 53q=53
- n=p×q=61×53=3233n = p \times q = 61 \times 53 = 3233n=p×q=61×53=3233
- ϕ(n)=(61−1)×(53−1)=3120\phi(n) = (61-1) \times (53-1) = 3120ϕ(n)=(61−1)×(53−1)=3120
- Scegliamo e=17e = 17e=17 (che è coprimo con 3120)
- Calcoliamo ddd come l’inverso di 171717 modulo 3120, che risulta essere d=2753d = 2753d=2753
Le chiavi risultanti sono:
- Chiave pubblica: (e,n)=(17,3233)(e, n) = (17, 3233)(e,n)=(17,3233)
- Chiave privata: (d,n)=(2753,3233)(d, n) = (2753, 3233)(d,n)=(2753,3233)
Cifratura
Supponiamo di voler cifrare il messaggio m=65m = 65m=65:c=6517mod 3233=2790c = 65^{17} \mod 3233 = 2790c=6517mod3233=2790
Il testo cifrato è c=2790c = 2790c=2790.
Decifratura
Per decifrare c=2790c = 2790c=2790:m=27902753mod 3233=65m = 2790^{2753} \mod 3233 = 65m=27902753mod3233=65
Il messaggio originale è m=65m = 65m=65.
Sicurezza
La sicurezza di RSA si basa sulla difficoltà di fattorizzare il prodotto di due numeri primi grandi. Anche se nnn è noto (in quanto parte della chiave pubblica), la fattorizzazione di nnn per ottenere ppp e qqq è computazionalmente impraticabile per numeri sufficientemente grandi. La sicurezza può essere ulteriormente migliorata utilizzando numeri primi molto grandi (ad esempio, di 2048 bit o più).
Utilizzi
RSA è ampiamente utilizzato in:
- Comunicazioni sicure (come SSL/TLS per il web)
- Firma digitale
- Gestione delle chiavi
- Criptografia a chiave pubblica in generale
In sintesi, RSA è un metodo robusto per la crittografia a chiave pubblica, che si basa su solide fondamenta matematiche per garantire la sicurezza delle comunicazioni e dei dati.
Come funziona SHA-256
L’SHA-256 (Secure Hash Algorithm 256-bit) è una funzione di hash crittografica appartenente alla famiglia SHA-2, progettata dalla NSA (National Security Agency) degli Stati Uniti. Viene comunemente utilizzata in molte applicazioni di sicurezza e integrità dei dati. Ecco una spiegazione di come funziona il meccanismo di crittografia SHA-256:
1. Input
SHA-256 accetta un input di lunghezza variabile e restituisce un hash (digest) di 256 bit (32 byte).
2. Padding
Prima che l’input venga elaborato, viene “riempito” (padding) per garantire che la lunghezza totale (in bit) sia un multiplo di 512. Il padding viene eseguito nel modo seguente:
- Aggiungi un singolo bit ‘1’ all’input.
- Aggiungi tanti bit ‘0’ quanti necessari per far sì che la lunghezza dell’input (in bit) meno 64 sia congruente a 448 modulo 512.
- Aggiungi i 64 bit della lunghezza dell’input originale in bit (big-endian).
3. Inizializzazione dei registri
SHA-256 utilizza otto variabili di lavoro a 32 bit, inizializzate con valori costanti (H0-H7). Questi valori sono derivati dalle radici quadrate dei primi otto numeri primi.
4. Processamento a blocchi
L’input riempito viene diviso in blocchi di 512 bit (64 byte). Ogni blocco viene elaborato attraverso diverse operazioni matematiche:
- Espansione del messaggio:
- Ogni blocco di 512 bit è suddiviso in 16 parole di 32 bit.
- Queste 16 parole vengono estese a 64 parole di 32 bit tramite operazioni bitwise e funzioni di rotazione.
- Compressione:
- Le otto variabili di lavoro sono inizializzate con i valori delle costanti di partenza.
- Per ogni parola del blocco esteso, viene eseguita una serie di operazioni di compressione che coinvolgono funzioni logiche (e.g., AND, OR, XOR), operazioni di rotazione e addizioni modulari.
- Le funzioni principali utilizzate in questa fase sono le funzioni di scelta (ch), di maggioranza (maj) e due funzioni di compressione (Σ0\Sigma_0Σ0 e Σ1\Sigma_1Σ1).
- Aggiornamento dei registri:
- I risultati delle operazioni di compressione vengono utilizzati per aggiornare le otto variabili di lavoro.
5. Concatenazione dei registri
Al termine dell’elaborazione di tutti i blocchi, i valori delle otto variabili di lavoro vengono concatenati per formare l’hash finale a 256 bit.
Pseudocodice di SHA-256
Ecco una versione semplificata del pseudocodice per SHA-256:
funzione SHA-256(messaggio)
// Inizializzazione dei registri
H0 = 0x6a09e667
H1 = 0xbb67ae85
H2 = 0x3c6ef372
H3 = 0xa54ff53a
H4 = 0x510e527f
H5 = 0x9b05688c
H6 = 0x1f83d9ab
H7 = 0x5be0cd19
// Padding del messaggio
messaggio_paddato = padding(messaggio)
// Processamento a blocchi
per ogni blocco da 512 bit nel messaggio_paddato
// Espansione del messaggio
W = espandi_blocco(blocco)
// Inizializzazione variabili di lavoro
a = H0
b = H1
c = H2
d = H3
e = H4
f = H5
g = H6
h = H7
// Compressione
per i da 0 a 63
T1 = h + Σ1(e) + ch(e, f, g) + K[i] + W[i]
T2 = Σ0(a) + maj(a, b, c)
h = g
g = f
f = e
e = d + T1
d = c
c = b
b = a
a = T1 + T2
// Aggiornamento registri
H0 = H0 + a
H1 = H1 + b
H2 = H2 + c
H3 = H3 + d
H4 = H4 + e
H5 = H5 + f
H6 = H6 + g
H7 = H7 + h
// Concatenazione dei registri per ottenere l'hash finale
hash = H0 || H1 || H2 || H3 || H4 || H5 || H6 || H7
ritorna hash
Funzioni ausiliarie
- ch(x, y, z): (x AND y) XOR (NOT x AND z)
- maj(x, y, z): (x AND y) XOR (x AND z) XOR (y AND z)
- Σ0(x): ROTR(x, 2) XOR ROTR(x, 13) XOR ROTR(x, 22)
- Σ1(x): ROTR(x, 6) XOR ROTR(x, 11) XOR ROTR(x, 25)
- ROTR(x, n): Ruota a destra x di n bit.
In sintesi, SHA-256 prende un input di lunghezza variabile, lo riempie, lo divide in blocchi, esegue una serie di operazioni di compressione e restituisce un hash di 256 bit. Questa funzione è progettata per essere resistente alle collisioni e pre-immagini, rendendola adatta per applicazioni di sicurezza.
Errore di scrittura file su disco
”Alcuni file sono in attesa di essere masterizzati su disco”
Come risolvere questo fastidioso messaggio:
- Apri Pannello di controllo / Opzioni cartella
- Apri la scheda Visualizzazione e selezionare la voce: “Visualizza cartelle, file e unità nascosti”
- Su esplora risorse apri il disco Windows(C)/Utenti/Nome_Utente/AppData/Local/Microsoft/Windows/Burn
- Eliminare i file presenti all’ interno della “Cartella masterizzata temporanea”
- Infine tornare su Pannello di controllo / Opzioni cartella e selezionare la voce: “Non visualizza cartelle, file e unità nascosti”