<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://jardin.cscsp.ch/index.php?action=history&amp;feed=atom&amp;title=Cifrario_di_Cesare</id>
	<title>Cifrario di Cesare - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://jardin.cscsp.ch/index.php?action=history&amp;feed=atom&amp;title=Cifrario_di_Cesare"/>
	<link rel="alternate" type="text/html" href="https://jardin.cscsp.ch/index.php?title=Cifrario_di_Cesare&amp;action=history"/>
	<updated>2026-04-12T02:19:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://jardin.cscsp.ch/index.php?title=Cifrario_di_Cesare&amp;diff=449&amp;oldid=prev</id>
		<title>imported&gt;Torsolo: LiveRC : Annullate le modifiche di 151.69.121.210 (discussione), riportata alla versione precedente di Mat4free</title>
		<link rel="alternate" type="text/html" href="https://jardin.cscsp.ch/index.php?title=Cifrario_di_Cesare&amp;diff=449&amp;oldid=prev"/>
		<updated>2025-04-04T06:58:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=WP:LRC&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:LRC (page does not exist)&quot;&gt;LiveRC&lt;/a&gt; : Annullate le modifiche di &lt;a href=&quot;/index.php?title=Special:Contributions/151.69.121.210&quot; title=&quot;Special:Contributions/151.69.121.210&quot;&gt;151.69.121.210&lt;/a&gt; (&lt;a href=&quot;/index.php?title=User_talk:151.69.121.210&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:151.69.121.210 (page does not exist)&quot;&gt;discussione&lt;/a&gt;), riportata alla versione precedente di &lt;a href=&quot;/index.php?title=User:Mat4free&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Mat4free (page does not exist)&quot;&gt;Mat4free&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:Caesar3.svg|thumb|Schema del cifrario di Cesare|300px]]In [[crittografia]], il &amp;#039;&amp;#039;&amp;#039;cifrario di Cesare&amp;#039;&amp;#039;&amp;#039; è uno dei più antichi [[algoritmo|algoritmi]] [[crittografia|crittografici]] di cui si abbia traccia storica. È un [[cifrario monoalfabetico|cifrario a sostituzione monoalfabetica]], in cui ogni lettera del testo in chiaro è sostituita, nel testo cifrato, dalla lettera che si trova un certo numero di posizioni dopo nell&amp;#039;[[alfabeto]]. Questi tipi di cifrari sono detti anche [[cifrari a sostituzione]] o cifrari a scorrimento a causa del loro modo di operare: la sostituzione avviene lettera per lettera, scorrendo il testo dall&amp;#039;inizio alla fine.&lt;br /&gt;
== Storia ==&lt;br /&gt;
Il cifrario di Cesare prende il nome da [[Cesare|Giulio Cesare]], che lo utilizzava con l&amp;#039;intento di proteggere i suoi messaggi criptati. Grazie allo storico [[Svetonio]]&amp;lt;ref&amp;gt;&amp;#039;&amp;#039;Extant et ad Ciceronem, item ad familiares, id est sic structo litterarum ordine, ut nullum verbum effici posset: quae si qui investigare et persequi velit, quartam elementorum, id est D pro A et perinde reliquas commutet.&amp;#039;&amp;#039; - [[Vite dei Cesari]] (56, I), [[Svetonio]]&amp;lt;/ref&amp;gt; sappiamo che Cesare utilizzava in genere una chiave di 3 per il cifrario, come nel caso della corrispondenza militare inviata alle truppe comandate da [[Quinto Tullio Cicerone]]. Al tempo era sicuro perché gli avversari spesso non erano neanche in grado di leggere un testo in chiaro, men che mai uno cifrato; inoltre, non esistevano metodi di [[crittanalisi]] in grado di rompere tale codice, per quanto banale.&lt;br /&gt;
&lt;br /&gt;
Conosciamo anche altri che usarono questo cifrario al tempo di Cesare: [[Augusto]], suo nipote, lo utilizzava con chiave 1, ma senza ripartire da sinistra in caso di fine dell&amp;#039;alfabeto. Quindi, scriveva B per A, C per B ma usava AA per Z.&lt;br /&gt;
&lt;br /&gt;
Dalla scoperta dell&amp;#039;[[analisi delle frequenze]] da parte del matematico [[arabi|arabo]] [[Al-Kindi]] nell&amp;#039;[[XI secolo]] circa, tutti i cifrari di questo tipo sono divenuti molto semplici da rompere; nessuno è adatto per comunicazioni sicure allo stato tecnologico attuale, né lo è stato negli ultimi 1000 anni. Tuttavia, una forma di questo cifrario, chiamata [[ROT13]], è ancora usata oggi per offuscare parti di un messaggio in modo da non renderle immediatamente comprensibili.&lt;br /&gt;
&lt;br /&gt;
=== I &amp;quot;pizzini&amp;quot; di Provenzano ===&lt;br /&gt;
Un rudimentale sistema di cifratura basato sul cifrario di Cesare è stato usato anche da [[Bernardo Provenzano]] per proteggere informazioni rilevanti scritte nei suoi famosi &amp;#039;&amp;#039;[[pizzino|pizzini]]&amp;#039;&amp;#039;, i piccoli foglietti di carta con i quali il boss della [[mafia]], durante la sua [[latitanza]], riceveva informazioni e impartiva ordini&amp;lt;ref&amp;gt;[http://www.anti-phishing.it/news/articoli/news.10052006.php Il Cifrario di Cesare era la protezione dei &amp;quot;Pizzini&amp;quot; di Provenzano] {{Webarchive|url=https://web.archive.org/web/20071030040037/http://www.anti-phishing.it/news/articoli/news.10052006.php |data=30 ottobre 2007 }} - Anti-Phishing Italia&amp;lt;/ref&amp;gt;. Il sistema scelto da Provenzano era abbastanza semplice: si trattava di sostituire ad ogni lettera il numero corrispondente alla posizione nell&amp;#039;alfabeto sommato a 3 e di comporre così un singolo, lungo numero. Ad esempio, i numeri &amp;quot;512151522 191212154&amp;quot; nascondono il nome di &amp;quot;Binnu Riina&amp;quot;; infatti, 5 = 2 (posizione della B) più 3; 12 = 9 (posizione della I) più 3, e così via.&lt;br /&gt;
&lt;br /&gt;
=== Maria Stuarda ===&lt;br /&gt;
Anche la regina di Scozia [[Maria Stuarda]] fece uso del cifrario di Cesare per impedire alla guardia incaricata di censurare le sue lettere, Amyas Paulet, di comprendere il messaggio contenuto in queste, con le quali partecipava al complotto Babington. Dallo scopo iniziale di uscire dalla prigionia a cui era stata condannata, il suo fine diventava un reato assai più grave, vale a dire l&amp;#039;omicidio della regina inglese Elisabetta I, con il fine di sostituirla, tramite il supporto di un gruppo di cattolici il cui capo era sir [[Anthony Babington]]. La lettera venne, però, subito decifrata da [[Francis Walsingham|Walsingham]] per la semplicità del metodo usato. Mary Stuart e i suoi corrispondenti vennero incriminati di alto tradimento e, dopo il suo processo del 15 ottobre 1586 e qualche esitazione, venne decapitata l&amp;#039;8 febbraio 1587.&lt;br /&gt;
&lt;br /&gt;
==Descrizione==&lt;br /&gt;
[[File:Giulio-cesare-enhanced 1-800x1450.jpg|thumb|[[Gaio Giulio Cesare]]]]&lt;br /&gt;
[[Gaio Giulio Cesare|Cesare]] utilizzava uno spostamento di 3 posizioni (la chiave, cioè ciò che indica di quanto spostarsi era dunque &amp;#039;&amp;#039;3&amp;#039;&amp;#039;), secondo il seguente schema nell&amp;#039;alfabeto latino classico, che aveva 23 caratteri: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| Testo in chiaro || a || b || c || d || e || f || g || h || i || k || l || m || n || o || p || q || r || s || t || v || x || y || z&lt;br /&gt;
|-&lt;br /&gt;
| Testo cifrato || D || E || F || G || H || I || K || L || M || N || O || P || Q || R || S || T || V || X || Y || Z || A || B || C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Lo stesso si può fare con l&amp;#039;[[alfabeto italiano]], che ha 21 caratteri:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| Testo in chiaro || a || b || c || d || e || f || g || h || i || l || m || n || o || p || q || r || s || t || u || v || z&lt;br /&gt;
|-&lt;br /&gt;
| Testo cifrato || D || E || F || G || H || I || L || M || N || O || P || Q || R || S || T || U || V || Z || A || B || C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Oppure con l&amp;#039;[[alfabeto latino]] esteso, che ha 26 caratteri:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| Testo in chiaro || a || b || c || d || e || f || g || h || i || j || k || l || m || n || o || p || q || r || s || t || u || v || w || x || y || z&lt;br /&gt;
|-&lt;br /&gt;
| Testo cifrato || D || E || F || G || H || I || J || K || L || M || N || O || P || Q || R || S || T || U || V || W || X || Y || Z || A || B || C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Per cifrare un messaggio, basta prendere ogni lettera del testo in chiaro e sostituirla con la corrispondente lettera della riga &amp;#039;&amp;#039;testo cifrato&amp;#039;&amp;#039;. Per decifrare, viceversa. Coerentemente con l&amp;#039;uso antico di omettere gli spazi tra le parole nei papiri, nel testo questi sono omessi; questo aumenta anche la sicurezza del cifrario perché toglie un importante punto di riferimento, cioè la suddivisione in parole, a chi tentasse la decrittazione. Il seguente è un semplice esempio italiano:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- &lt;br /&gt;
| Testo in chiaro || &amp;lt;code&amp;gt; attaccaregliirriducibiligalliallaorasesta &amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Testo crittato || &amp;lt;code&amp;gt; DZZDFFDUHLONNUUNGAFNENONLDOONDOODRUDVHVZD &amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cifrare e decifrare il testo più volte non migliora la sicurezza, in quanto una rotazione di A posti seguita da una di B posti equivale a una di A + B. Matematicamente parlando, la cifratura con le varie chiavi forma un [[Gruppo (matematica)|gruppo]].&lt;br /&gt;
&lt;br /&gt;
==Matematica==&lt;br /&gt;
===Considerazioni generiche===&lt;br /&gt;
&lt;br /&gt;
Il funzionamento del codice di Cesare è possibile grazie all&amp;#039;[[aritmetica modulare]]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f(x)\equiv x+k \pmod m,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dove &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; è il numero di lettere dell&amp;#039;alfabeto.&lt;br /&gt;
&lt;br /&gt;
In particolare per la chiave 3, nell&amp;#039;alfabeto inglese:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f(x)\equiv x+3 \pmod{26}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Funzione inversa ====&lt;br /&gt;
Partendo dalla funzione generale scritta esprimendo &amp;lt;math&amp;gt;f(x)&amp;lt;/math&amp;gt; con la variabile dipendente &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y\equiv x+k \pmod m.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trasportiamo &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; al secondo membro e &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; al primo:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;-x \equiv -y+k \pmod m.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Moltiplichiamo entrambi i membri per &amp;lt;math&amp;gt;-1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x \equiv y-k \pmod m.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scambiamo i nomi delle variabili, ossia poniamo &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; come variabile dipendente e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; come variabile indipendente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y \equiv x-k \pmod m.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In conclusione:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f^{-1}(x) \equiv x-k \pmod m,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dove &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; è il numero di lettere dell&amp;#039;alfabeto. &lt;br /&gt;
&lt;br /&gt;
In particolare per la chiave 3, nell&amp;#039;alfabeto inglese:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f^{-1}(x)\equiv x-3 \pmod{26}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cifrario affine===&lt;br /&gt;
Un&amp;#039;ulteriore generalizzazione è costituita dal cifrario affine:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;C_{(a,b)}\equiv a \times x+b \pmod m,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con &amp;lt;math&amp;gt;a,b &amp;lt; m&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;MCD(a,m)=1&amp;lt;/math&amp;gt;, perché altrimenti ci sarebbe una stessa cifratura per diverse lettere.&lt;br /&gt;
&lt;br /&gt;
== Rompere la cifratura ==&lt;br /&gt;
Con un diagramma delle frequenze delle lettere nel testo in cifra e nella lingua originale del testo, è facile individuare il valore della chiave osservandone la disposizione. Ad esempio, nella [[lingua italiana]], le lettere più frequenti sono le vocali E, A, O e I, con lievi differenze, seguite dalle consonanti L, N, R, S e T, mentre sono rare B, F, Q e Z e praticamente assenti le lettere &amp;#039;&amp;#039;straniere&amp;#039;&amp;#039; J, K, Y, X e W; nella [[lingua inglese]], invece, le lettere più frequenti sono E e T, mentre le più rare sono Q e Z. Anche i computer sono in grado di eseguire simili calcoli senza difficoltà, come pure di effettuare attacchi di tipo [[Metodo forza bruta|brute force]] semplicemente provando tutte le chiavi di cifratura possibili finché non appare un testo leggibile.&lt;br /&gt;
&lt;br /&gt;
Il cifrario di Cesare è molto più debole di uno in cui la corrispondenza delle lettere sia casuale, come succede in molti [[enigmistica|giochi enigmistici]]. I luoghi più comuni dove si può trovare questo cifrario è in giochi per bambini oppure nell&amp;#039;algoritmo [[ROT13]], che è fatto apposta per essere facile da decifrare.&lt;br /&gt;
&lt;br /&gt;
== Codifica del cifrario in campo informatico ==&lt;br /&gt;
Il suddetto cifrario può essere trascritto in tutti i [[linguaggi di programmazione]], questo è un esempio in [[C++]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[]) &lt;br /&gt;
{&lt;br /&gt;
    if (argc != 2)&lt;br /&gt;
    {&lt;br /&gt;
        cerr &amp;lt;&amp;lt; &amp;quot;Argomenti non validi\n&amp;quot;;&lt;br /&gt;
        return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    char * string = argv[1];&lt;br /&gt;
&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Frase normale: &amp;quot; &amp;lt;&amp;lt; string &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Frase crittografata: &amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    for (int i=0; string[i] != &amp;#039;\0&amp;#039;; i++) &lt;br /&gt;
    {&lt;br /&gt;
        if ((string[i]&amp;gt;=&amp;#039;A&amp;#039; &amp;amp;&amp;amp; string[i]&amp;lt;=&amp;#039;W&amp;#039;) || (string[i]&amp;gt;=&amp;#039;a&amp;#039; &amp;amp;&amp;amp; string[i]&amp;lt;=&amp;#039;w&amp;#039;)) &lt;br /&gt;
        {&lt;br /&gt;
            // lettere dalla A alla W (maiuscole) e dalla a alla w (minuscole)&lt;br /&gt;
            cout &amp;lt;&amp;lt; char(string[i] + 3);&lt;br /&gt;
        }&lt;br /&gt;
        else if ((string[i]&amp;gt;=&amp;#039;X&amp;#039; &amp;amp;&amp;amp; string[i]&amp;lt;=&amp;#039;Z&amp;#039;) || (string[i]&amp;gt;=&amp;#039;x&amp;#039; &amp;amp;&amp;amp; string[i]&amp;lt;=&amp;#039;z&amp;#039;))&lt;br /&gt;
        {&lt;br /&gt;
            // tutte le altre lettere (X Y Z x y z)&lt;br /&gt;
            cout &amp;lt;&amp;lt; char(string[i] - 23);&lt;br /&gt;
        }&lt;br /&gt;
        else &lt;br /&gt;
        {&lt;br /&gt;
            // tutti gli altri caratteri&lt;br /&gt;
            cout &amp;lt;&amp;lt; string[i];&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
       &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bibliografia==&lt;br /&gt;
*Joan Gómez Urgellés, &amp;#039;&amp;#039;Matematici, spie e pirati informatici&amp;#039;&amp;#039;, RBA Italia, 2013, capitolo n° 2&lt;br /&gt;
&lt;br /&gt;
== Voci correlate ==&lt;br /&gt;
* [[Cifrario di Vigenère]]&lt;br /&gt;
&lt;br /&gt;
== Altri progetti ==&lt;br /&gt;
{{interprogetto|preposizione=sul}}&lt;br /&gt;
&lt;br /&gt;
== Collegamenti esterni ==&lt;br /&gt;
* {{Collegamenti esterni}}&lt;br /&gt;
* {{cita web | 1 = http://www.cs.utsa.edu/~wagner/laws/Acaesar.html | 2 = Implementazione Java del cifrario di Cesare. | accesso = 22 ottobre 2009 | dataarchivio = 29 luglio 2010 | urlarchivio = https://web.archive.org/web/20100729202021/http://www.cs.utsa.edu/~wagner/laws/Acaesar.html | urlmorto = sì }}&lt;br /&gt;
{{Crittografia classica}}&lt;br /&gt;
{{Portale|crittografia}}&lt;br /&gt;
&lt;br /&gt;
[[Categoria:Cifrari classici]]&lt;br /&gt;
[[Categoria:Gaio Giulio Cesare]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Torsolo</name></author>
	</entry>
</feed>