One-Time-Pad Verschlüsselung
Verfasst: 20.02.2014 22:51
Habe da grade mal was lustiges geschrieben bin zufällig auf die Wiki Seite gestossen und habs mal umgesetzt
http://de.wikipedia.org/wiki/One-Time-Pad
Eine einfache Verschlüsselungsmethode, der Key muss genauso lang wie das zu verschlüsselnde sein.
Hier der Quellcode für die Funktionen:
Test:
Viel Spass damit
mfg R3booz

http://de.wikipedia.org/wiki/One-Time-Pad
Eine einfache Verschlüsselungsmethode, der Key muss genauso lang wie das zu verschlüsselnde sein.
Hier der Quellcode für die Funktionen:
Code: Alles auswählen
Procedure.s SK_Enc_OneTimePad(in.s,key.s)
If Len(in.s) > Len(key.s)
ProcedureReturn ""
EndIf
For i=1 To Len(in.s)
eins.s=Mid(in.s,i,1)
zwei.s=Mid(key.s,i,1)
weins = Asc(eins.s)
wzwei = Asc(zwei.s)
If weins+wzwei > 255
gesamt = (weins+wzwei)-256
Else
gesamt = (weins+wzwei)
EndIf
new.s + Chr(gesamt)
Next
ProcedureReturn new.s
EndProcedure
Procedure.s SK_Dec_OneTimePad(in.s,key.s)
If Len(in.s) > Len(key.s)
ProcedureReturn ""
EndIf
For i=1 To Len(in.s)
eins.s=Mid(in.s,i,1)
zwei.s=Mid(key.s,i,1)
weins = Asc(eins)
wzwei = Asc(zwei)
If weins-wzwei < 255
gesamt = (weins-wzwei)+256
Else
gesamt = (weins-wzwei)
EndIf
new.s + Chr(gesamt)
Next
ProcedureReturn new.s
EndProcedure
Procedure.s SK_Enc_OneTimePadKey(in.s)
For i=0 To Len(in.s)
key.s + Chr(Random(255,0))
Next
ProcedureReturn key.s
EndProcedure
Code: Alles auswählen
Debug SK_Enc_OneTimePad("Test","hsze")
Debug SK_Dec_OneTimePad(SK_Enc_OneTimePad("Test","rofl"),"hsze")

mfg R3booz