0
Arbeitsergebnisse
Polyalphabetische Ver- & Entschlüsselung
Von Muhammad Ridwan Hakim (m.hakim@stud.hs-wismar.de)
Inhalts...
1
A. Beschreibung des Verfahrens zur Ver- und Entschlüsselung
1. Verschlüsselung (Vn)
26>V1≤52V1-26
( ( ))
26>V2≤52V1-26...
2
CMP DL, 00 ;Vergleichen, ob Counter schon 0 ist.
JZ Regel1 ;Wenn {ja}, geht zu [Regel1] weiter
IN 00 ;Eingabe von Tastat...
3
Encipher:
PUSH CL ;Position von CL wird in RAM gespeichert
ADD CL, 0F ;Sprung von CL zu der 15.Stelle
MOV [CL], AL ;Der ...
4
PUSH BL ;reservierter Schlüssel
MOV CL, C0 ;VDU [C0 in RAM] zu CL
MOV DL, 20 ;Counter = 20 Hex (32 Dez) eingestellt
WB1:...
5
Suboperation2:
CMP AL, 0D ; Vergleichen, ob der Wert von AL (Klartext-Schlüssel) 0D Hex ist
JS Regel1 ; Wenn {kleiner}, ...
6
B. Ein Beispiel für Klartext, chiffrierten Text und Schlüssel
Klartext
CANANYBODYFINDME SOMEBODYTOLOVEEA
CHMORNINGIGETUP...
Nächste SlideShare
Wird geladen in …5
×

Polyalphabetische Verschlüsselung und Entschlüsselung

20 Aufrufe

Veröffentlicht am

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
20
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Polyalphabetische Verschlüsselung und Entschlüsselung

  1. 1. 0 Arbeitsergebnisse Polyalphabetische Ver- & Entschlüsselung Von Muhammad Ridwan Hakim (m.hakim@stud.hs-wismar.de) Inhaltsverzeichnis A. Beschreibung des Verfahrens zur Ver- und Entschlüsselung B. Ein Beispiel für Klartext, chiffrierten Text und Schlüssel
  2. 2. 1 A. Beschreibung des Verfahrens zur Ver- und Entschlüsselung 1. Verschlüsselung (Vn) 26>V1≤52V1-26 ( ( )) 26>V2≤52V1-26 52>V2≤78V2-52 A=1, B=2, ..., Z=26 V1=der erste Verschlüsselung V2=der zweite Verschlüsselung, usw. x=Eingabewert n=der erste Schlüssel n1=der zweite Schlüssel 2. Entschlüsselung(En) ( ) -25>E1<1 E1+26 ( ( )) -25≥E2<1E2+26 -51≥E2<-26E2+52 A=1, B=2, ..., Z=26 E1=der erste Entschlüsselung E2=der zweite Entschlüsselung, usw. x=Eingabewert n=der erste Schlüssel n1=der zweite Schlüssel Das Programm wird festgestellt, dass: 1. Register AL als Eingabe/Ausgabe Operationen-Register funktioniert. 2. Register BL als Schlüssel-Register funktioniert. 3. Register CL als VDU-Register funktioniert. 4. Register DL als Counter-Register funktioniert. Der Schlüssel wird zurückgesetzt, wenn a)Die Summe des ersten Schlüssel und des zweiten Schlüssel größer als 34 Hex ist, und 2)Counter schon 0 ist. ;1. Teil - Verschlüsselung MOV BL, 0D ;Schlüssel: 13 mal nach rechts verschoben ;Schlüssel muss zwischen 01 Hex (A) und 1A Hex (Z) sein PUSH BL ;reservierter Schlüssel PUSH BL ;reservierter Schlüssel PUSH BL ;reservierter Schlüssel PUSH BL ;reservierter Schlüssel MOV CL, C0 ;VDU [C0 in RAM] zu CL MOV DL, 20 ;Counter = 20 Hex (32 Dez) eingestellt WB1: ;Wertebereich vom Eingabewert
  3. 3. 2 CMP DL, 00 ;Vergleichen, ob Counter schon 0 ist. JZ Regel1 ;Wenn {ja}, geht zu [Regel1] weiter IN 00 ;Eingabe von Tastatur CMP AL, 41 ;Vergleichen, ob der Eingabewert 41 Hex ist JS WB1 ;Wenn {kleiner}, geht zu [WB1] weiter, ;Wenn {gleich & grösser}, geht zu [WB2] weiter WB2: ;Wertebereich vom Eingabewert CMP AL, 5B ;Vergleichen, ob der Eingabewert 5B Hex ist JNS WB1 ;Wenn {gleich & grösser}, geht zu [WB1] weiter, ;Wenn {kleiner}, geht zu [Klartext] weiter Klartext: MOV [CL], AL ;Der Wert von AL (Klartext) wird bei VDU dargestellt INC CL ;CL macht anderen Platz in nächster Spalte Operation: ADD AL, BL ;Verschlüsselung JO Suboperation1a ;Wenn Überlauf auftritt, geht zu [Suboperation1a] ;Wenn keiner Überlauf auftritt, geht zu [Suboperation0] Suboperation0: CMP AL, 5B ;Vergleichen, ob der Wert von AL (Klartext+Schlüssel) 5B Hex ist JS Encipher ;Wenn {kleiner}, geht zu [Encipher] weiter; JZ Suboperation0a ;Wenn {gleich}, geht zu [Suboperation0a] weiter JNS Suboperation1 ;Wenn {grösser}, geht zu [Suboperation1] weiter Suboperation0a: SUB AL, 1A ;Der Wert von AL (Klartext+Schlüssel) mit 1A Hex subtrahieren JMP Encipher ;Geht zu [Encipher] weiter Suboperation1: CMP AL, 75 ;Vergleichen, ob der Wert von AL (Klartext+Schlüssel) 75 Hex ist JZ Suboperation1a ;Wenn {gleich}, geht zu [Suboperation1a] weiter JNS Suboperation1a ;Wenn {grösser}, geht zu [Suboperation1a] weiter SUB AL, 1A ;Wenn {kleiner}, ;der Wert von AL (Klartext+Schlüssel) mit 1A Hex subtrahieren JMP Encipher ;Geht zu [Encipher] weiter Suboperation1a: SUB AL, 34 ;Der Wert von AL (Klartext+Schlüssel) mit 34 Hex subtrahieren JMP Encipher ;Geht zu [Encipher] weiter
  4. 4. 3 Encipher: PUSH CL ;Position von CL wird in RAM gespeichert ADD CL, 0F ;Sprung von CL zu der 15.Stelle MOV [CL], AL ;Der Wert von AL (Klartext+Schlüssel) wird bei VDU dargestellt INC CL ;CL macht anderen Platz in näcshter Spalte POP CL ;Von RAM wird die originale Position von CL abgeholt ADD BL, 03 ;Der neue Schlüssel;In diesem Beispiel, ;der neue Schlüssel ist 3 mal nach rechts noch verschoben INC BL ;Schlüssel nach jedem Schritt um eins zu erhöhen CMP BL, 34 ;Die Grenze von der Summe ;des alten Schlüssel & des neuen Schlüssel= 34 Hex JS Postoperation ;Wenn die Summe {kleiner} als 34 Hex ist, ;geht zu [Postoperation] weiter JZ Postoperation ;Wenn die Summe {gleich} 34 Hex ist, ;geht zu [Postoperation] weiter JNS Regel2 ;Wenn die Summe {grösser} als 34 Hex ist, ;geht zu [Regel2] weiter Postoperation: DEC DL ;Counter dekrementiert CMP DL, 10 ;Vergleichen, ob Counter schon 10 Hex ist. JNZ WB1 ;Wenn {nein}, geht zu [WB1] weiter MOV CL, E0 ;VDU [E0 in RAM] zu CL JMP WB1 ;Geht zu [WB1] weiter Regel2: POP BL ;Der reservierte Schlüssel wird von RAM abgeholt JMP Postoperation ;Geht zu [Postoperation] weiter Regel1: HALT ;Pause END ;Ende des Programms ;2. Teil - Entschlüsselung MOV BL, 0D ;Schlüssel: 13 mal nach rechts verschoben ;Schlüssel muss zwischen 01 Hex (A) und 1A Hex (Z) sein PUSH BL ;reservierter Schlüssel PUSH BL ;reservierter Schlüssel PUSH BL ;reservierter Schlüssel
  5. 5. 4 PUSH BL ;reservierter Schlüssel MOV CL, C0 ;VDU [C0 in RAM] zu CL MOV DL, 20 ;Counter = 20 Hex (32 Dez) eingestellt WB1: ;Wertebereich vom Eingabewert CMP DL, 00 ;Vergleichen, ob Counter schon 0 ist. JZ Regel1 ;Wenn {ja}, geht zu [Regel1] weiter IN 00 ;Eingabe von Tastatur CMP AL, 41 ;Vergleichen, ob der Eingabewert 41 Hex ist JS WB1 ;Wenn {kleiner}, geht zu [WB1] weiter, ;Wenn {gleich & grösser}, geht zu [WB2] weiter WB2: ;Wertebereich vom Eingabewert CMP AL, 5B ;Vergleichen, ob der Eingabewert 5B Hex ist JNS WB1 ;Wenn {gleich & grösser}, geht zu [WB1] weiter, ;Wenn {kleiner}, geht zu [Ciphertext] weiter Ciphertext: MOV [CL], AL ;Der Wert von AL (Ciphertext) wird bei VDU dargestellt INC CL ;CL macht anderen Platz in nächster Spalte Operation: SUB AL, BL ;Entschlüsselung Suboperation0: CMP AL, 41 ;Vergleichen, ob der Wert von AL (Klartext-Schlüssel) 41 Hex ist JS Suboperation1 ;Wenn {kleiner}, geht zu [Suboperation1] weiter; JZ Decipher ;Wenn {gleich}, geht zu [Decipher] weiter JNS Decipher ;Wenn {grösser}, geht zu [Decipher] weiter Suboperation0a: ADD AL, 1A ;Der Wert von AL (Klartext-Schlüssel) mit 1A Hex addieren JMP Decipher ;Geht zu [Decipher] weiter Suboperation1: CMP AL, 27 ;Vergleichen, ob der Wert von AL (Klartext-Schlüssel) 27 Hex ist JZ Suboperation0a ;Wenn {gleich}, geht zu [Suboperation0a] weiter JNS Suboperation0a ;Wenn {grösser}, geht zu [Suboperation0a] weiter JS Suboperation2 ;Wenn {kleiner}, geht zu [Suboperation2] weiter Suboperation1a: ADD AL, 34 ;Der Wert von AL (Klartext-Schlüssel) mit 34 Hex addieren JMP Decipher ;Geht zu [Decipher] weiter
  6. 6. 5 Suboperation2: CMP AL, 0D ; Vergleichen, ob der Wert von AL (Klartext-Schlüssel) 0D Hex ist JS Regel1 ; Wenn {kleiner}, geht zu [Regel1] weiter JNS Suboperation1a ;Wenn {grösser}, geht zu [Suboperation1a] weiter JZ Suboperation1a ;Wenn {gleich}, geht zu [Suboperation1a] weiter Decipher: PUSH CL ;Position von CL wird in RAM gespeichert ADD CL, 0F ;Sprung von CL zu der 15.Stelle MOV [CL], AL ;Der Wert von AL (Klartext-Schlüssel) wird bei VDU dargestellt INC CL ;CL macht anderen Platz in näcshter Spalte POP CL ;Von RAM wird die originale Position von CL abgeholt ADD BL, 03 ;Der neue Schlüssel ;In diesem Beispiel, der neue Schlüssel ist 3 mal nach rechts noch verschoben INC BL ;Schlüssel nach jedem Schritt um eins zu erhöhen CMP BL, 34 ;Die Grenze aus der Summe ;des alten Schlüssel & des neuen Schlüssel=1A Hex+1A Hex = 34 Hex JS Postoperation ;Wenn die Summe {kleiner} als 34 Hex ist, geht zu [Postoperation] weiter JZ Postoperation ;Wenn die Summe {gleich} 34 Hex ist, geht zu [Postoperation] weiter JNS Regel2 ;Wenn die Summe {grösser} als 34 Hex ist, geht zu [Regel2] weiter Postoperation: DEC DL ;Counter dekrementiert CMP DL, 10 ;Vergleichen, ob Counter schon 10 Hex ist. JNZ WB1 ;Wenn {nein}, geht zu [WB1] weiter MOV CL, E0 ;VDU [E0 in RAM] zu CL JMP WB1 ;Geht zu [WB1] weiter Regel2: POP BL ;Der reservierte Schlüssel wird von RAM abgeholt JMP Postoperation ;Geht zu [Postoperation] weiter Regel1: HALT ;Pause END ;Ende des Programms
  7. 7. 6 B. Ein Beispiel für Klartext, chiffrierten Text und Schlüssel Klartext CANANYBODYFINDME SOMEBODYTOLOVEEA CHMORNINGIGETUPI DIEALITTLECANBAR ELYSTANDONMYFEET TAKEALOOKINTHEMI RRORANDCRYLORDWH ATYOUREDOINGTOME IHAVESPENTALLMYY EARSINBELIVEINGU Schlüssel 1.Schlüssel und 2.Schlüssel müssen zwischen 01 Hex (A) und 1A Hex (Z) sein. In diesem Beispiel: 1. Schlüssel=13 2. Schlüssel=4,8,12,...4n Chiffrierte Text PRIZQFMDWVSZICPL DDFBOFYXWVWDOBRR PYHNUUTCZFTVOTSP OXXXYZOSOLNPGYNI RCTRWHYSHKZPADHA EPDBNCJNNPYIABZZ EIJQDUORKVYFMCZO LIRLHIZCRPYVMLZV VYVUHZATGQNCGLBF PPKPVEWDOPGTBKTL Verschlüsselung Entschlüsselung ENDE

×