Cifrario di Cesare (Assembly)

Il cifrario di Cesare è uno dei più antichi algoritmi crittografici di cui si abbia traccia storica. È un 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’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’inizio alla fine.
In particolare, Cesare utilizzava uno spostamento di 3 posizioni (la chiave era dunque 3), secondo il seguente schema:
Testo in chiaro a b c d e f g h i k l m n o p q r s t u x
Testo cifrato D E F G H I K L M N O P Q R S T V X A B C

Lo stesso si può fare con l’alfabeto italiano:

Testo in chiaro a b c d e f g h i l m n o p q r s t u v z
Testo cifrato D E F G H I L M N O P Q R S T U V Z A B C

Fonte

Beh, io vi presento questa codifica, in Assembly.

Si tratta di in programmino che si aspetta un carattere in Input, poi automaticamente in Output lo stampa a video.

; Codifica di Cesare By Nunez

dati SEGMENT

car DB ?

dati ends

codice SEGMENT

ASSUME DS:dati, CS:codice

 

mov AX, dati

mov DS,AX

 

mov AH, 07h ;AH è il sottoregistro di AX. parte alta = high. 

int 21h

mov car, AL

ADD car,3 ;Come nel Cifrario di cesare, aggiungiamo 3 al carattere inserito

mov DL, 10d

mov AH, 02h ;a capo

int 21h

 

mov DL, car ; copia al in dl perchè l’interrupt 21h salva il carattere ricevuto in al

mov AH, 02h ;mettiamo in ah un altro comando, ovvero 2h che fa l’output a video di un carattere

int 21h ;richiamiamo dunque ancora l’interrupt 21h che segue il comando in ah.

 

mov AH, 4Ch ;comando per stoppare l’interrupt.

int 21h

codice ENDS

end

 

 

Annunci
Contrassegnato da tag

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: