 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
maxg
Anmeldungsdatum: 01.05.2009 Beiträge: 1
|
Verfasst am: 01.05.2009, 00:40 Titel: Verschlüsselung |
|
|
Hallo ich habe eine einfache Verschlüsselung erstellt und würde gerne wissen, ob sie jemand von euch knacken kann.
Ich vermute, dass es nicht zu schwer sein wird.
aus
Ich bin ein FreeBASIC Programmierer
wird
¶œ—ß–‘ßš–‘ß¹šš½¾¬¶¼ß¯˜ž’’–šš
Wie gesagt, ich wüsste nur gerne, ob diese Verschlüsselung zumindest ein kleines bisschen nützlich ist
mit freundlichen grüßen
max [/quote] |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 01.05.2009, 03:06 Titel: |
|
|
ziemlich blöd, da ein e zB immer zum selben zeichen übersetzt wird, daher ist es nur eine verschlüsslung durch zeichenersetzung (wie oft das zeichen im normalen alltag benutzt wird dass du statt dem echten zeichen da hinsetzt ist dabei völlig egal), und damit weder nützlich noch sicher noch sonst irgendwas, sorry ;P _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 01.05.2009, 13:02 Titel: |
|
|
Code: | Dim As String str1,str2
str1="¶œ—ß–‘ßš–‘ß¹šš½¾¬¶¼ß¯˜ž’’–šš"
For i As Integer = 1 To Len(str1)
str2 = str2 + Chr(255-Asc(Mid(str1,i,1)))
Next
Print str2
Sleep |
(str1="¶œ—ß–‘ßš–‘ß¹šš½¾¬¶¼ß¯˜ž’’–šš" - ist im Code nicht zu erkennen)
Der geringe Umfang des Programms zum Entkodieren sagt glaube ich schon alles über die Sicherheit der Verschlüsselung aus.
Informier dich am besten bei Wikipedia oder so über aktuelle Verschlüsselungsalgorithmen und versuche die vielleicht nachzubauen. Hier im Forum gab es zur Verschlüsselung auch schon einige Beiträge, einfach mal SuFu verwenden. |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 01.05.2009, 19:38 Titel: |
|
|
Wenn Du schon nach Kryptografie-Expertenmeinungen fragst: Lerne am besten erst einmal die Grundlagen für Kryptografie! Als Einstiegshilfe einige Wikipedia-Artikel:
http://de.wikipedia.org/wiki/Kerckhoffs%E2%80%99_Prinzip
Ist so ziemlich der fundamental wichtigste Grundsatz: Algorithmus musst Du bedenkenlos als Open Source veröffentlichen können. Als Geheimnis wird von den beiden Parteien nur ein Schlüssel als Datenblock festgelegt, der jederzeit durch einen neu gewählten ausgetauscht werden kann, sobald er einmal dem Feind bekannt werden sollte.
http://de.wikipedia.org/wiki/Security_by_Obscurity
Exakt so sollte man es möglichst nie machen!
Speziell auf das Codebeispiel von MOD bezogen:
http://de.wikipedia.org/wiki/Buchstabenh%C3%A4ufigkeit
http://de.wikipedia.org/wiki/H%C3%A4ufigkeitsanalyse
d.h. bei grossen Umfang an verschlüsselt zu übertragendem Text reicht eine Häufigkeitsanalyse bereits aus, weil Dein Verfahren nur eine einfache monoalphabetische Verschlüsselung darstellt.
http://en.wikipedia.org/wiki/Category:Cryptographic_attacks
Zum Grundlagenwissen über Verschlüsselung gehört auch, dass Du Dich mit dem Thema Angriff auf eine verschlüsselte Übertragung auseinandersetzst.
Als ausgewähltes Beispiel:
http://en.wikipedia.org/wiki/Known-plaintext_attack
=> soll zeigen, dass komplett alles mit dem selben Verfahren verschlüsseln zu wollen, sogar schnell einmal kontraproduktiv werden kann. Beispiele:
- WLAN-Verschlüsselung: TCP/IP-Header und Paketaufbau gängiger Netzwerknachrichten sind bekannt, womit bei einem übertragenen Paket häufig aufgrund der Länge auf den Inhalt geschlossen werden kann
- exakt dieser Fehler machte Deutschland im zweiten Weltkrieg: Wetterdienstmeldungen wurden mit derselben Enigma-Verschlüsselung gefunkt wie wichtige Truppenkommandos.
- Festplattenverschlüsselung auf Sektorebene: Der Aufbau vom Master Boot Record, NTFS-Grundstrukturen sowie Inhalt der Windows-Systemdateien ist bekannt, was dort ebenfalls diese Angriffsart ermöglicht _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 04.05.2009, 08:21 Titel: |
|
|
[KEIN SCHERZ (obwohl lustig)]
Ich hatte mal ein verschlüsselungsprogramm entwickelt, das war so gut, dass ich den verschlüsselten text nicht mehr entschlüsseln konnte... Ich glaub, das lag daran, dass er den schlüssel zur laufzeit generiert hat und danach "vergessen" hat :-/ .. ein mehr als "dürftiges" projekt, wenn ich mir mich zurückerinnere..
[/KEIN SCHERZ] |
|
Nach oben |
|
 |
neo7530
Anmeldungsdatum: 04.05.2009 Beiträge: 2
|
Verfasst am: 04.05.2009, 12:19 Titel: |
|
|
Hab da auch mal ne kleinigkeit programmiert. Dient zum Dateien verschlüsseln. Nutzt einen von mir ausgespasteten Algo, und sollte relativ sicher sein. Die S-Boxen würde ich noch austauschen gegen echte s-boxen (z.B die von Rijndael) dann sollte das ganze für den Laien unknackbar sein.
verschlüsseln:
Code: |
DIM tab0(255)
DIM itab0(255)
Dim saat(15)
Dim ki(15)
Dim kii(15)
Dim pt(15)
Dim temp(15)
Dim q As String *1
Dim r As String *1
RESTORE table0: FOR i = 0 TO 255: READ a%: tab0(i) = a%: NEXT
RESTORE invtable0: FOR i = 0 TO 255: READ a%: itab0(i) = a%: NEXT
Open command$ For Binary As #1
Open command$ + ".ctx" For Binary As #2
GoSub passwd
GoSub saatgen
GoSub salzen
GoSub truetrue
do Until Eof(1)
GoSub rki
GoSub einlesen
GoSub ivxorpt
GoSub encrypt
GoSub ausgabe
GoSub cbc
loop
Close #1:Close #2
Print " Datei "; Command$;" wurde erfolgreich verschluesselt."
sleep
end
Rem ------------------------------------------------SUBS------------------------------------------------------
passwd:
DO
PRINT "Passwort (max. 32 Zeichen):"
LINE INPUT Password$
LOOP UNTIL LEN(Password$) <= 32
IF LEN(Password$) MOD 2 THEN Password$ = Password$ + CHR$(LEN(Password$))
PasswdString1$ = LEFT$(Password$, LEN(Password$) / 2)
PasswdString2$ = RIGHT$(Password$, LEN(Password$) / 2)
FOR i = 0 TO LEN(Password$)
PasswdSum% = PasswdSum% + ASC(MID$(Password$, i))
NEXT i
RANDOMIZE PasswdSum%
FOR i = 0 TO (15 - (LEN(Password$) / 2))
PasswdString1$ = PasswdString1$ + CHR$(INT(RND * 31))
PasswdString2$ = PasswdString2$ + CHR$(INT(RND * 31))
NEXT i
FOR i = 0 TO 15
CryptedByte% = ASC(MID$(PasswdString1$, i)) XOR ASC(MID$(PasswdString2$, i))
CryptedByte% = CryptedByte% + INT(RND * 255)
IF CryptedByte% > 255 THEN CryptedByte% = CryptedByte% - 256
kii(i) = cryptedbyte%
NEXT i
GoSub rki
GoSub keyvorbereitung
For i = 0 To 15: kii(i) = ki(i):next
return
truetrue:
Restore wahr : For i = 0 To 15 : Read a% : pt(i) = a% : Next
GoSub rki : GoSub ivxorpt :GoSub encrypt : GoSub ausgabe : GoSub cbc
return
saatgen:
randomize (-1,0)
for i = 0 to 15 : saat(i) = Int(rnd(1)*255) : next
return
ivxorpt:
For i = 0 To 15: pt(i) = pt(i) Xor saat(i):next
return
cbc:
For L = 0 To 15: saat(l) = Pt(l) : Next L
return
salzen:
For i = 0 To 15:pt(i) = saat(i) : Next
GoSub rki
GoSub encrypt
For i = 0 To 15:r = chr(pt(i)): Put #2, ,r : Next
return
einlesen:
For i = 0 To 15 : get #1 , ,q : pt(i) = Asc(q) : Next
return
ausgabe:
For i = 0 To 15 : r = chr(pt(i)) : Put #2, ,r : Next
return
Encrypt:
Gosub Keyxor
For Z = 1 To 11
Gosub kiRor
Gosub Sboxtokey
Gosub Kiinvexp
Gosub Pttosbox
Gosub Ptror
Gosub Ptexp
Gosub Mix
Gosub Keyxor
Next Z
Return
Keyvorbereitung:
For Z = 1 To 11
Gosub Kiexp
Gosub Keytosbox
Gosub kiRol
Next Z
Return
kiRol:
temp(0) = Ki(0)
For K = 0 To 14
Ki(k) = Ki(k) And &H7F
Ki(k) = Ki(k) * 2
S = Ki(k + 1) And &H80
S = S / &H80
Ki(k) = Ki(k) Or S
Next K
Ki(15) = Ki(15) And &H7F
Ki(15) = Ki(15) * 2
S = temp(0) And &H80
S = S / &H80
Ki(15) = Ki(15) Or S
Return
KiRor:
temp(15) = ki(15)
For K = 15 To 1 Step -1
Ki(k) = Ki(k) And &HFE
Ki(k) = Ki(k) / 2
S = Ki(k - 1) And 1
S = S * &H80
Ki(k) = Ki(k) Or S
Next K
Ki(0) = Ki(0) And &HFE
Ki(0) = Ki(0) / 2
S = temp(15) And 1
S = S * &H80
Ki(0) = Ki(0) Or S
Return
Ptror:
temp(15) = Pt(15)
For i = 15 To 1 Step -1
Pt(i) = Pt(i) And &HFE
Pt(i) = Pt(i) / 2
S = Pt(i - 1) And 1
S = S * &H80
Pt(i) = Pt(i) Or S
Next i
Pt(0) = Pt(0) And &HFE
Pt(0) = Pt(0) / 2
S = temp(15) And 1
S = S * &H80
Pt(0) = Pt(0) Or S
return
Keytosbox:
For L = 0 To 15
Ki(l) = tab0(ki(l))
Next L
Return
Sboxtokey:
For L = 0 To 15
Ki(l) = itab0(ki(l))
Next L
Return
Pttosbox:
For L = 0 To 15
Pt(l) = tab0(pt(l))
Next L
Return
Keyxor:
For L = 0 To 15
Pt(l) = Pt(l) Xor Ki(l)
Next L
Return
Kiexp:
X = tab0(ki(3))
ki(12) = ki(12) Xor X
X = tab0(ki(7)) Xor &h02
ki(0) = ki(0) Xor X
X = tab0(ki(11))
ki(4) = ki(4) Xor X
X = tab0(ki(15))
ki(8) = ki(8) Xor X
ki(1) = ki(1) Xor ki(0)
ki(2) = ki(2) Xor ki(1)
ki(3) = ki(3) Xor ki(2)
ki(5) = ki(5) Xor ki(4)
ki(6) = ki(6) Xor ki(5)
ki(7) = ki(7) Xor ki(6)
ki(9) = ki(9) Xor ki(8)
ki(10) = ki(10) Xor ki(9)
ki(11) = ki(11) Xor ki(10)
ki(13) = ki(13) Xor ki(12)
ki(14) = ki(14) Xor ki(13)
ki(15) = ki(15) Xor ki(14)
Return
Kiinvexp:
ki(15) = ki(15) Xor ki(14)
ki(14) = ki(14) Xor ki(13)
ki(13) = ki(13) Xor ki(12)
ki(11) = ki(11) Xor ki(10)
ki(10) = ki(10) Xor ki(9)
ki(9) = ki(9) Xor ki(8)
ki(7) = ki(7) Xor ki(6)
ki(6) = ki(6) Xor ki(5)
ki(5) = ki(5) Xor ki(4)
ki(3) = ki(3) Xor ki(2)
ki(2) = ki(2) Xor ki(1)
ki(1) = ki(1) Xor ki(0)
X = tab0(ki(15))
ki(8) = ki(8) Xor X
X = tab0(ki(11))
ki(4) = ki(4) Xor X
X = tab0(ki(7)) Xor &h02
ki(0) = ki(0) Xor X
X = tab0(ki(3))
ki(12) = ki(12) Xor X
Return
ptexp:
X = tab0(pt(3))
pt(12) = pt(12) Xor X
X = tab0(pt(7))
pt(0) = pt(0) Xor X
X = tab0(pt(11))
pt(4) = pt(4) Xor X
X = tab0(pt(15))
pt(8) = pt(8) Xor X
pt(1) = pt(1) Xor pt(0)
pt(2) = pt(2) Xor pt(1)
pt(3) = pt(3) Xor pt(2)
pt(5) = pt(5) Xor pt(4)
pt(6) = pt(6) Xor pt(5)
pt(7) = pt(7) Xor pt(6)
pt(9) = pt(9) Xor pt(8)
pt(10) = pt(10) Xor pt(9)
pt(11) = pt(11) Xor pt(10)
pt(13) = pt(13) Xor pt(12)
pt(14) = pt(14) Xor pt(13)
pt(15) = pt(15) Xor pt(14)
Return
Mix:
For L = 0 To 15
Temp(l) = Pt(l)
Next L
Pt(1) = Temp(5)
Pt(2) = Temp(10)
Pt(3) = Temp(15)
Pt(5) = Temp(9)
Pt(6) = Temp(14)
Pt(7) = Temp(3)
Pt(9) = Temp(13)
Pt(10) = Temp(2)
Pt(11) = Temp(7)
Pt(13) = Temp(1)
Pt(14) = Temp(6)
Pt(15) = Temp(11)
Return
rki:
For i = 0 To 15: ki(i) = kii(i): next
Return
Rem ------------------------------------------------DATAS----------------------------------------------------------
wahr:
Data &h74 , &h72 , &h75 , &h65 , &h74 , &h72 , &h75 , &h65 ,&h74 , &h72 , &h75 , &h65 ,&h74 , &h72 , &h75 , &h65
table0:
data &hFF , &hFE , &hFD , &hFC , &hFB , &hFA , &hF9 , &hF8 , &hF7 , &hF6 , &hF5 , &hF4 , &hF3 , &hF2 , &hF1 , &hF0
data &hEF , &hEE , &hED , &hEC , &hEB , &hEA , &hE9 , &hE8 , &hE7 , &hE6 , &hE5 , &hE4 , &hE3 , &hE2 , &hE1 , &hE0
data &hDF , &hDE , &hDD , &hDC , &hDB , &hDA , &hD9 , &hD8 , &hD7 , &hD6 , &hD5 , &hD4 , &hD3 , &hD2 , &hD1 , &hD0
data &hCF , &hCE , &hCD , &hCC , &hCB , &hCA , &hC9 , &hC8 , &hC7 , &hC6 , &hC5 , &hC4 , &hC3 , &hC2 , &hC1 , &hC0
data &hBF , &hBE , &hBD , &hBC , &hBB , &hBA , &hB9 , &hB8 , &hB7 , &hB6 , &hB5 , &hB4 , &hB3 , &hB2 , &hB1 , &hB0
data &hAF , &hAE , &hAD , &hAC , &hAB , &hAA , &hA9 , &hA8 , &hA7 , &hA6 , &hA5 , &hA4 , &hA3 , &hA2 , &hA1 , &hA0
data &h9F , &h9E , &h9D , &h9C , &h9B , &h9A , &h99 , &h98 , &h97 , &h96 , &h95 , &h94 , &h93 , &h92 , &h91 , &h90
data &h8F , &h8E , &h8D , &h8C , &h8B , &h8A , &h89 , &h88 , &h87 , &h86 , &h85 , &h84 , &h83 , &h82 , &h81 , &h80
data &h7F , &h7E , &h7D , &h7C , &h7B , &h7A , &h79 , &h78 , &h77 , &h76 , &h75 , &h74 , &h73 , &h72 , &h71 , &h70
data &h6F , &h6E , &h6D , &h6C , &h6B , &h6A , &h69 , &h68 , &h67 , &h66 , &h65 , &h64 , &h63 , &h62 , &h61 , &h60
data &h5F , &h5E , &h5D , &h5C , &h5B , &h5A , &h59 , &h58 , &h57 , &h56 , &h55 , &h54 , &h53 , &h52 , &h51 , &h50
data &h4F , &h4E , &h4D , &h4C , &h4B , &h4A , &h49 , &h48 , &h47 , &h46 , &h45 , &h44 , &h43 , &h42 , &h41 , &h40
data &h3F , &h3E , &h3D , &h3C , &h3B , &h3A , &h39 , &h38 , &h37 , &h36 , &h35 , &h34 , &h33 , &h32 , &h31 , &h30
data &h2F , &h2E , &h2D , &h2C , &h2B , &h2A , &h29 , &h28 , &h27 , &h26 , &h25 , &h24 , &h23 , &h22 , &h21 , &h20
data &h1F , &h1E , &h1D , &h1C , &h1B , &h1A , &h19 , &h18 , &h17 , &h16 , &h15 , &h14 , &h13 , &h12 , &h11 , &h10
data &h0F , &h0E , &h0D , &h0C , &h0B , &h0A , &h09 , &h08 , &h07 , &h06 , &h05 , &h04 , &h03 , &h02 , &h01 , &h00
invtable0:
data &hFF , &hFE , &hFD , &hFC , &hFB , &hFA , &hF9 , &hF8 , &hF7 , &hF6 , &hF5 , &hF4 , &hF3 , &hF2 , &hF1 , &hF0
data &hEF , &hEE , &hED , &hEC , &hEB , &hEA , &hE9 , &hE8 , &hE7 , &hE6 , &hE5 , &hE4 , &hE3 , &hE2 , &hE1 , &hE0
data &hDF , &hDE , &hDD , &hDC , &hDB , &hDA , &hD9 , &hD8 , &hD7 , &hD6 , &hD5 , &hD4 , &hD3 , &hD2 , &hD1 , &hD0
data &hCF , &hCE , &hCD , &hCC , &hCB , &hCA , &hC9 , &hC8 , &hC7 , &hC6 , &hC5 , &hC4 , &hC3 , &hC2 , &hC1 , &hC0
data &hBF , &hBE , &hBD , &hBC , &hBB , &hBA , &hB9 , &hB8 , &hB7 , &hB6 , &hB5 , &hB4 , &hB3 , &hB2 , &hB1 , &hB0
data &hAF , &hAE , &hAD , &hAC , &hAB , &hAA , &hA9 , &hA8 , &hA7 , &hA6 , &hA5 , &hA4 , &hA3 , &hA2 , &hA1 , &hA0
data &h9F , &h9E , &h9D , &h9C , &h9B , &h9A , &h99 , &h98 , &h97 , &h96 , &h95 , &h94 , &h93 , &h92 , &h91 , &h90
data &h8F , &h8E , &h8D , &h8C , &h8B , &h8A , &h89 , &h88 , &h87 , &h86 , &h85 , &h84 , &h83 , &h82 , &h81 , &h80
data &h7F , &h7E , &h7D , &h7C , &h7B , &h7A , &h79 , &h78 , &h77 , &h76 , &h75 , &h74 , &h73 , &h72 , &h71 , &h70
data &h6F , &h6E , &h6D , &h6C , &h6B , &h6A , &h69 , &h68 , &h67 , &h66 , &h65 , &h64 , &h63 , &h62 , &h61 , &h60
data &h5F , &h5E , &h5D , &h5C , &h5B , &h5A , &h59 , &h58 , &h57 , &h56 , &h55 , &h54 , &h53 , &h52 , &h51 , &h50
data &h4F , &h4E , &h4D , &h4C , &h4B , &h4A , &h49 , &h48 , &h47 , &h46 , &h45 , &h44 , &h43 , &h42 , &h41 , &h40
data &h3F , &h3E , &h3D , &h3C , &h3B , &h3A , &h39 , &h38 , &h37 , &h36 , &h35 , &h34 , &h33 , &h32 , &h31 , &h30
data &h2F , &h2E , &h2D , &h2C , &h2B , &h2A , &h29 , &h28 , &h27 , &h26 , &h25 , &h24 , &h23 , &h22 , &h21 , &h20
data &h1F , &h1E , &h1D , &h1C , &h1B , &h1A , &h19 , &h18 , &h17 , &h16 , &h15 , &h14 , &h13 , &h12 , &h11 , &h10
data &h0F , &h0E , &h0D , &h0C , &h0B , &h0A , &h09 , &h08 , &h07 , &h06 , &h05 , &h04 , &h03 , &h02 , &h01 , &h00
|
Entschlüsseln:
Code: |
DIM tab0(255)
DIM itab0(255)
Dim saatcurr(15)
Dim saatnext(15)
Dim ki(15)
Dim kii(15)
Dim pt(15)
Dim temp(15)
Dim q As String *1
Dim r As String *1
RESTORE table0: FOR i = 0 TO 255: READ a%: tab0(i) = a%: NEXT
RESTORE invtable0: FOR i = 0 TO 255: READ a%: itab0(i) = a%: NEXT
randomize (-1,0)
Open command$ For Binary As #1
GoSub passwd
GoSub saatregen
GoSub salzen
GoSub truetrue
Open command$ + ".clear" For Binary As #2
do Until Eof(1)
GoSub rki
GoSub einlesen
GoSub cbc
GoSub decrypt
GoSub ivxorpt
GoSub ausgabe
GoSub saat_next
loop
Close #1:Close #2
Print " Datei "; Command$;" wurde erfolgreich entschluesselt."
sleep
end
Rem ------------------------------------------------SUBS------------------------------------------------------
truetrue:
GoSub rki
GoSub einlesen
GoSub cbc
GoSub decrypt
GoSub ivxorpt
Restore wahr: For i = 0 To 15 : Read a% : temp(i) = a% : Next
For i = 0 To 15 : temp(i) = temp(i) Xor pt(i) : Next
For i = 0 To 14 : x = temp(i) Xor temp(i+1) : Next
If x <> 0 Then GoTo fehler
GoSub saat_next
Return
fehler:
Print " passwort falsch !!! "
Sleep
end
passwd:
DO
PRINT "Passwort (max. 32 Zeichen):"
LINE INPUT Password$
LOOP UNTIL LEN(Password$) <= 32
IF LEN(Password$) MOD 2 THEN Password$ = Password$ + CHR$(LEN(Password$))
PasswdString1$ = LEFT$(Password$, LEN(Password$) / 2)
PasswdString2$ = RIGHT$(Password$, LEN(Password$) / 2)
FOR i = 0 TO LEN(Password$)
PasswdSum% = PasswdSum% + ASC(MID$(Password$, i))
NEXT i
RANDOMIZE PasswdSum%
FOR i = 0 TO (15 - (LEN(Password$) / 2))
PasswdString1$ = PasswdString1$ + CHR$(INT(RND * 31))
PasswdString2$ = PasswdString2$ + CHR$(INT(RND * 31))
NEXT i
FOR i = 0 TO 15
CryptedByte% = ASC(MID$(PasswdString1$, i)) XOR ASC(MID$(PasswdString2$, i))
CryptedByte% = CryptedByte% + INT(RND * 255)
IF CryptedByte% > 255 THEN CryptedByte% = CryptedByte% - 256
kii(i) = cryptedbyte%
NEXT i
Return
saatregen:
For i = 0 To 15: get #1 , ,q: saatcurr(i) = Asc(q): Next
return
saat_next:
For i = 0 To 15 : saatcurr(i) = saatnext(i):next
return
ivxorpt:
For i = 0 To 15: pt(i) = pt(i) Xor saatcurr(i):next
return
cbc:
For L = 0 To 15: saatnext(l) = Pt(l) : Next L
return
salzen:
For i = 0 To 15: pt(i) = saatcurr(i):Next
GoSub rki
GoSub decrypt
For i = 0 To 15: saatcurr(i) = pt(i) : Next
return
einlesen:
For i = 0 To 15 : get #1 , ,q : pt(i) = Asc(q) : Next
return
ausgabe:
For i = 0 To 15 : r = chr(pt(i)) : Put #2, ,r : Next
return
Decrypt:
For Z = 1 To 11
Gosub Keyxor
Gosub Demix
Gosub Ptinvexp
Gosub Ptrol
Gosub Sboxtopt
Gosub Kiexp
Gosub Keytosbox
Gosub kiRol
Next Z
Gosub Keyxor
Return
kiRol:
temp(0) = Ki(0)
For K = 0 To 14
Ki(k) = Ki(k) And &H7F
Ki(k) = Ki(k) * 2
S = Ki(k + 1) And &H80
S = S / &H80
Ki(k) = Ki(k) Or S
Next K
Ki(15) = Ki(15) And &H7F
Ki(15) = Ki(15) * 2
S = temp(0) And &H80
S = S / &H80
Ki(15) = Ki(15) Or S
Return
Ptrol:
temp(0) = Pt(0)
For K = 0 To 14
Pt(k) = Pt(k) And &H7F
Pt(k) = Pt(k) * 2
S = Pt(k + 1) And &H80
S = S / &H80
Pt(k) = Pt(k) Or S
Next K
Pt(15) = Pt(15) And &H7F
Pt(15) = Pt(15) * 2
S = temp(0) And &H80
S = S / &H80
Pt(15) = Pt(15) Or S
Return
Keytosbox:
For L = 0 To 15 : Ki(l) = tab0(ki(l)) : Next L
Return
Sboxtopt:
For L = 0 To 15 : Pt(l) = itab0(pt(l)) : Next L
Return
Keyxor:
For L = 0 To 15 : Pt(l) = Pt(l) Xor Ki(l) : Next L
Return
Kiexp:
X = tab0(ki(3))
ki(12) = ki(12) Xor X
X = tab0(ki(7)) Xor &h02
ki(0) = ki(0) Xor X
X = tab0(ki(11))
ki(4) = ki(4) Xor X
X = tab0(ki(15))
ki(8) = ki(8) Xor X
ki(1) = ki(1) Xor ki(0)
ki(2) = ki(2) Xor ki(1)
ki(3) = ki(3) Xor ki(2)
ki(5) = ki(5) Xor ki(4)
ki(6) = ki(6) Xor ki(5)
ki(7) = ki(7) Xor ki(6)
ki(9) = ki(9) Xor ki(8)
ki(10) = ki(10) Xor ki(9)
ki(11) = ki(11) Xor ki(10)
ki(13) = ki(13) Xor ki(12)
ki(14) = ki(14) Xor ki(13)
ki(15) = ki(15) Xor ki(14)
Return
ptinvexp:
pt(15) = pt(15) Xor pt(14)
pt(14) = pt(14) Xor pt(13)
pt(13) = pt(13) Xor pt(12)
pt(11) = pt(11) Xor pt(10)
pt(10) = pt(10) Xor pt(9)
pt(9) = pt(9) Xor pt(8)
pt(7) = pt(7) Xor pt(6)
pt(6) = pt(6) Xor pt(5)
pt(5) = pt(5) Xor pt(4)
pt(3) = pt(3) Xor pt(2)
pt(2) = pt(2) Xor pt(1)
pt(1) = pt(1) Xor pt(0)
X = tab0(pt(15))
pt(8) = pt(8) Xor X
X = tab0(pt(11))
pt(4) = pt(4) Xor X
X = tab0(pt(7))
pt(0) = pt(0) Xor X
X = tab0(pt(3))
pt(12) = pt(12) Xor X
Return
Demix:
For L = 0 To 15
Temp(l) = Pt(l)
Next L
Pt(5) = Temp(1)
Pt(10) = Temp(2)
Pt(15) = Temp(3)
Pt(9) = Temp(5)
Pt(14) = Temp(6)
Pt(3) = Temp(7)
Pt(13) = Temp(9)
Pt(2) = Temp(10)
Pt(7) = Temp(11)
Pt(1) = Temp(13)
Pt(6) = Temp(14)
Pt(11) = Temp(15)
Return
rki:
For i = 0 To 15: ki(i) = kii(i): next
Return
Rem ------------------------------------------------DATAS----------------------------------------------------------
wahr:
Data &h74 , &h72 , &h75 , &h65 , &h74 , &h72 , &h75 , &h65 ,&h74 , &h72 , &h75 , &h65 ,&h74 , &h72 , &h75 , &h65
table0:
data &hFF , &hFE , &hFD , &hFC , &hFB , &hFA , &hF9 , &hF8 , &hF7 , &hF6 , &hF5 , &hF4 , &hF3 , &hF2 , &hF1 , &hF0
data &hEF , &hEE , &hED , &hEC , &hEB , &hEA , &hE9 , &hE8 , &hE7 , &hE6 , &hE5 , &hE4 , &hE3 , &hE2 , &hE1 , &hE0
data &hDF , &hDE , &hDD , &hDC , &hDB , &hDA , &hD9 , &hD8 , &hD7 , &hD6 , &hD5 , &hD4 , &hD3 , &hD2 , &hD1 , &hD0
data &hCF , &hCE , &hCD , &hCC , &hCB , &hCA , &hC9 , &hC8 , &hC7 , &hC6 , &hC5 , &hC4 , &hC3 , &hC2 , &hC1 , &hC0
data &hBF , &hBE , &hBD , &hBC , &hBB , &hBA , &hB9 , &hB8 , &hB7 , &hB6 , &hB5 , &hB4 , &hB3 , &hB2 , &hB1 , &hB0
data &hAF , &hAE , &hAD , &hAC , &hAB , &hAA , &hA9 , &hA8 , &hA7 , &hA6 , &hA5 , &hA4 , &hA3 , &hA2 , &hA1 , &hA0
data &h9F , &h9E , &h9D , &h9C , &h9B , &h9A , &h99 , &h98 , &h97 , &h96 , &h95 , &h94 , &h93 , &h92 , &h91 , &h90
data &h8F , &h8E , &h8D , &h8C , &h8B , &h8A , &h89 , &h88 , &h87 , &h86 , &h85 , &h84 , &h83 , &h82 , &h81 , &h80
data &h7F , &h7E , &h7D , &h7C , &h7B , &h7A , &h79 , &h78 , &h77 , &h76 , &h75 , &h74 , &h73 , &h72 , &h71 , &h70
data &h6F , &h6E , &h6D , &h6C , &h6B , &h6A , &h69 , &h68 , &h67 , &h66 , &h65 , &h64 , &h63 , &h62 , &h61 , &h60
data &h5F , &h5E , &h5D , &h5C , &h5B , &h5A , &h59 , &h58 , &h57 , &h56 , &h55 , &h54 , &h53 , &h52 , &h51 , &h50
data &h4F , &h4E , &h4D , &h4C , &h4B , &h4A , &h49 , &h48 , &h47 , &h46 , &h45 , &h44 , &h43 , &h42 , &h41 , &h40
data &h3F , &h3E , &h3D , &h3C , &h3B , &h3A , &h39 , &h38 , &h37 , &h36 , &h35 , &h34 , &h33 , &h32 , &h31 , &h30
data &h2F , &h2E , &h2D , &h2C , &h2B , &h2A , &h29 , &h28 , &h27 , &h26 , &h25 , &h24 , &h23 , &h22 , &h21 , &h20
data &h1F , &h1E , &h1D , &h1C , &h1B , &h1A , &h19 , &h18 , &h17 , &h16 , &h15 , &h14 , &h13 , &h12 , &h11 , &h10
data &h0F , &h0E , &h0D , &h0C , &h0B , &h0A , &h09 , &h08 , &h07 , &h06 , &h05 , &h04 , &h03 , &h02 , &h01 , &h00
invtable0:
data &hFF , &hFE , &hFD , &hFC , &hFB , &hFA , &hF9 , &hF8 , &hF7 , &hF6 , &hF5 , &hF4 , &hF3 , &hF2 , &hF1 , &hF0
data &hEF , &hEE , &hED , &hEC , &hEB , &hEA , &hE9 , &hE8 , &hE7 , &hE6 , &hE5 , &hE4 , &hE3 , &hE2 , &hE1 , &hE0
data &hDF , &hDE , &hDD , &hDC , &hDB , &hDA , &hD9 , &hD8 , &hD7 , &hD6 , &hD5 , &hD4 , &hD3 , &hD2 , &hD1 , &hD0
data &hCF , &hCE , &hCD , &hCC , &hCB , &hCA , &hC9 , &hC8 , &hC7 , &hC6 , &hC5 , &hC4 , &hC3 , &hC2 , &hC1 , &hC0
data &hBF , &hBE , &hBD , &hBC , &hBB , &hBA , &hB9 , &hB8 , &hB7 , &hB6 , &hB5 , &hB4 , &hB3 , &hB2 , &hB1 , &hB0
data &hAF , &hAE , &hAD , &hAC , &hAB , &hAA , &hA9 , &hA8 , &hA7 , &hA6 , &hA5 , &hA4 , &hA3 , &hA2 , &hA1 , &hA0
data &h9F , &h9E , &h9D , &h9C , &h9B , &h9A , &h99 , &h98 , &h97 , &h96 , &h95 , &h94 , &h93 , &h92 , &h91 , &h90
data &h8F , &h8E , &h8D , &h8C , &h8B , &h8A , &h89 , &h88 , &h87 , &h86 , &h85 , &h84 , &h83 , &h82 , &h81 , &h80
data &h7F , &h7E , &h7D , &h7C , &h7B , &h7A , &h79 , &h78 , &h77 , &h76 , &h75 , &h74 , &h73 , &h72 , &h71 , &h70
data &h6F , &h6E , &h6D , &h6C , &h6B , &h6A , &h69 , &h68 , &h67 , &h66 , &h65 , &h64 , &h63 , &h62 , &h61 , &h60
data &h5F , &h5E , &h5D , &h5C , &h5B , &h5A , &h59 , &h58 , &h57 , &h56 , &h55 , &h54 , &h53 , &h52 , &h51 , &h50
data &h4F , &h4E , &h4D , &h4C , &h4B , &h4A , &h49 , &h48 , &h47 , &h46 , &h45 , &h44 , &h43 , &h42 , &h41 , &h40
data &h3F , &h3E , &h3D , &h3C , &h3B , &h3A , &h39 , &h38 , &h37 , &h36 , &h35 , &h34 , &h33 , &h32 , &h31 , &h30
data &h2F , &h2E , &h2D , &h2C , &h2B , &h2A , &h29 , &h28 , &h27 , &h26 , &h25 , &h24 , &h23 , &h22 , &h21 , &h20
data &h1F , &h1E , &h1D , &h1C , &h1B , &h1A , &h19 , &h18 , &h17 , &h16 , &h15 , &h14 , &h13 , &h12 , &h11 , &h10
data &h0F , &h0E , &h0D , &h0C , &h0B , &h0A , &h09 , &h08 , &h07 , &h06 , &h05 , &h04 , &h03 , &h02 , &h01 , &h00
|
Habe bewusst viele GOSUBs eingebaut, damit jeder nach lust und laune den Algo verändern kann und sich evtl. nen eigenen zusammenschustern kann. Hoffe ich habe einige Anregungen geben können.
Viel Spaß damit.
P.S.: Einfach den Code in FreeBasic reinkopieren, und mit option -lang qb compellieren. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 04.05.2009, 14:38 Titel: |
|
|
Ganz ganz langsam!
Mit aussagen wie "sollte relativ sicher sein" oder "für den Laien unknackbar" würde ich ganz vorsichtig sein!
Sei dir ganz sicher, dass dein Algo zu nix taugt, denn an einem richtigen Algo sitzen viele viele Experten durchaus mehrere Jahre lang. |
|
Nach oben |
|
 |
neo7530
Anmeldungsdatum: 04.05.2009 Beiträge: 2
|
Verfasst am: 04.05.2009, 14:47 Titel: |
|
|
Wenn mir jemand eine Abkürzung des Algos über auch nur 3 Runden berechnen kann, dann nehme ich das mit dem Relativ sicher zurück und sage, dass der Algo zu nix taugt
Beispiel:
Plaintext:
54 45 53 54 74 65 73 74 54 45 53 54 74 65 73 74 = TESTtestTESTtest
Crypt:
AB 30 70 9B CE E7 AD 9F 23 AE 47 87 C9 1C 2C 74 = «0p›ÎçŸ#®G‡É.,t
Selber Plaintext erneute Verschlüsselung mit selben Passwort:
08 0E 89 B3 D1 F5 16 2B 6F 90 8B 13 1B 7F A5 E7 = ..‰³Ñõ.+o‹..¥ç
Errechne den IV und das Passwort. Benutzt wurden die (nichtlinearen) S-Boxen von Rijndael.
Das soll jetzt nicht zum Wettbewerb ausarten, ist nur ein kleines Beispiel, was dieses stückchen Code kann... |
|
Nach oben |
|
 |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 04.05.2009, 20:45 Titel: |
|
|
Hab auch mal eine Verschlüsselung auf die Beine gestellt.
Was haltet ihr von dieser Verschlüsselung?
Natürlich kann man es ausbauen.
Cu Andy
Der Code zum generieren des Codes:
Code: |
kill "C:\verschlüsselungAndy19312.txt"
redim puffer (1 to 10000000) as integer
redim text1 (1 to 10000000) as integer
puffer(1) = 112
puffer(2) = 8
puffer(3) = 10
puffer(4) = 110
puffer(5) = 200
puffer(6) = 11
puffer(7) = 4
puffer(8) = 289
puffer(9) = 666
'.
'.
'.
'usw........
dim text as string
dim laenge as ulongint
dim i as ulongint
dim mitte as string
'Hier den Text eingeben
text = "Andy19312"
laenge = len(text)
locate 1,1
print "Alter Code:"
locate 1,40
print "Neuer Code:"
for i = 1 to laenge
mitte = mid(text,i,1)
text1(i) = ASC(mitte)
locate i+2,1
print text1(i)
text1(i) = text1(i) + puffer(i)
locate i+2,20
print "+ ";puffer(i)
locate i+2,40
print text1(i)
next
print
print "Der Text war:", text
open "C:\verschlüsselungAndy19312.txt" for append as #1
for i = 1 to laenge
print #1, text1(i)
next
close #1
sleep
|
Der Code zum wieder herstellen des Textes:
Code: |
redim puffer (1 to 10000000) as integer
redim text1 (1 to 10000000) as integer
dim a as ulongint
dim text as string
puffer(1) = 112
puffer(2) = 8
puffer(3) = 10
puffer(4) = 110
puffer(5) = 200
puffer(6) = 11
puffer(7) = 4
puffer(8) = 289
puffer(9) = 666
dim i as ulongint
open "C:\verschlüsselungAndy19312.txt" for input as #1
do
a = a + 1
input #1, text1(a)
loop until eof (1)
close #1
print
for i = 1 to a
text1(i) = text1(i) - puffer(i)
text = CHR(text1(i))
locate 1,i
print text
next
sleep
|
war wiegesagt nur ein Vorschlag von mir gewesen, wenn man es aber ausbaut, ist es sicherlich nicht zu knacken "denke ich mal"
Wenn man den Schlüssel nicht weiss, machts keinen heiss;)
Achso, das puffer Array kann man beliebig weit ausbauen, damit man auch mehr Text verschlüsseln kann. |
|
Nach oben |
|
 |
Nitrosio
Anmeldungsdatum: 11.04.2009 Beiträge: 8
|
Verfasst am: 06.05.2009, 09:26 Titel: |
|
|
Ich hab da auch mal was gebastelt:
Code: |
SCREEN 0
COLOR 4, 0
dim as string pw
dim as integer x
x = 0
DO
CLS
LOCATE 10, 20: COLOR 4, 0: PRINT "Bitte Passwort eingeben:": COLOR 0, 0: LOCATE 10, 44: INPUT "", pw: COLOR 4, 0
IF pw = "0815" THEN EXIT DO ELSE x = x + 1: IF x = 3 THEN beep:end
LOOP
Dim shared As Integer WinXMode, VollBild, WinBreite, WinHoehe, FarbTiefe
ScreenInfo WinBreite, WinHoehe
If WinBreite >= 512 Then WinXMode = 16
If WinBreite >= 640 Then WinXMode = 17
If WinHoehe >= 480 Then WinXMode = 18
If WinBreite >= 800 Then WinXMode = 19
If WinBreite >= 1024 Then WinXMode = 20
If WinHoehe >=1280 then WinXMode = 21
If VollBild = 1 Then
Screen WinXMode+1,,,1
Else
Screen WinXMode,,,1
End If
If ScreenPtr = 0 Then
Print "Programmabbruch beim initialisieren des Bildschirmmodus!"
End 1
End if
? WinBreite & " x " & WinHoehe & " , " & FarbTiefe &"bpp"
color 1,2
cls
print ""
print "Taste 1: Codieren Taste 2: Entziffern"
sleep
if inkey$="" then beep:end
IF 2 = INP(&H60) THEN
beep
cls
do
IF 1 = INP(&H60) THEN beep:end
'"1****0"
'1
IF 2 = INP(&H60) THEN print "110100";
'2
IF 3 = INP(&H60) THEN print "110010";
'3
IF 4 = INP(&H60) THEN print "110000";
'4
IF 5 = INP(&H60) THEN print "101110";
'5
IF 6 = INP(&H60) THEN print "101010";
'6
IF 7 = INP(&H60) THEN print "101000";
'7
IF 8 = INP(&H60) THEN print "100110";
'8
IF 9 = INP(&H60) THEN print "100100";
'9
IF 10 = INP(&H60) THEN print "100010";
'0
IF 11 = INP(&H60) THEN print "100000";
'"0****1"
'A
IF 30 = INP(&H60) THEN print "010101";
'B
IF 48 = INP(&H60) THEN print "010011";
'C
IF 46 = INP(&H60) THEN print "010001";
'D
IF 32 = INP(&H60) THEN print "001111";
'E
IF 18 = INP(&H60) THEN print "001101";
'F
IF 33 = INP(&H60) THEN print "001011";
'G
IF 34 = INP(&H60) THEN print "001001";
'H
IF 35 = INP(&H60) THEN print "000111";
'I
IF 23 = INP(&H60) THEN print "000101";
'J
IF 36 = INP(&H60) THEN print "000011";
'"1****1"
'K
IF 37 = INP(&H60) THEN print "111111";
'L
IF 38 = INP(&H60) THEN print "111101";
'M
IF 50 = INP(&H60) THEN print "111011";
'N
IF 49 = INP(&H60) THEN print "111001";
'O
IF 24 = INP(&H60) THEN print "110111";
'P
IF 25 = INP(&H60) THEN print "110101";
'Q
IF 16 = INP(&H60) THEN print "110011";
'R
IF 19 = INP(&H60) THEN print "110001";
'S
IF 31 = INP(&H60) THEN print "101111";
'T
IF 20 = INP(&H60) THEN print "101101";
'U
IF 22 = INP(&H60) THEN print "101011";
'V
IF 47 = INP(&H60) THEN print "101001";
'W
IF 17 = INP(&H60) THEN print "100111";
'X
IF 45 = INP(&H60) THEN print "100101";
'Y
IF 21 = INP(&H60) THEN print "100011";
'Z
IF 44 = INP(&H60) THEN print "100001";
sleep
loop
end if
IF 3 = INP(&H60) THEN
beep
cls
dim as string taste
do
input "",taste
if taste="" then beep:end
'1
if taste="110100" THEN print "1";
'2
if taste="110010" THEN print "2";
'3
if taste="110000" THEN print "3";
'4
if taste="101110" THEN print "4";
'5
if taste="101010" THEN print "5";
'6
if taste="101000" THEN print "6";
'7
if taste="100110" THEN print "7";
'8
if taste="100100" THEN print "8";
'9
if taste="100010" THEN print "9";
'0
if taste="100000" THEN print "0";
'A
if taste="010101" THEN print "A";
'B
if taste="010011" THEN print "B";
'C
if taste="010001" THEN print "C";
'D
if taste="001111" THEN print "D";
'E
if taste="001101" THEN print "E";
'F
if taste="001011" THEN print "F";
'G
if taste="001001" THEN print "G";
'H
if taste="000111" THEN print "H";
'I
if taste="000101" THEN print "I";
'J
if taste="000011" THEN print "J";
'K
if taste="111111" THEN print "K";
'L
if taste="111101" THEN print "L";
'M
if taste="111011" THEN print "M";
'N
if taste="111001" THEN print "N";
'O
if taste="110111" THEN print "O";
'P
if taste="110101" THEN print "P";
'Q
if taste="110011" THEN print "Q";
'R
if taste="110001" THEN print "R";
'S
if taste="101111" THEN print "S";
'T
if taste="101101" THEN print "T";
'U
if taste="101011" THEN print "U";
'V
if taste="101001" THEN print "V";
'W
if taste="100111" THEN print "W";
'X
if taste="100101" THEN print "X";
'Y
if taste="100011" THEN print "Y";
'Z
if taste="100001" THEN print "Z";
sleep
print ""
loop
end if
|
Ja, ich weiss: INP ist doof. Sollte aber auch nur mal so eine Idee sein. Wenn man alle Einsen und Nullen am Stück schreibt (ist eigentlich immer gut, wenn man nicht weiss, wo ein Buchstabe aufhört und der nächste anfängt; so zumindest meine Überlegung) und die Selbstlaute auslässt, dazu noch irre Abkürzungen verwendet und alles (den Binärcode)möglichst asymetrisch aufbaut etc., dann sollte das auch relativ sicher sein, oder? |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 06.05.2009, 13:48 Titel: |
|
|
Jetzt kommen wieder alle mit ihren Verschlüsselungen raus...
Das hat doch eh keinen Sinn, heutzutage werden Verschlüsselungen geknackt, die von zig Wissenschaftlern entwickelt wurden und als Sicher galten. Die hausgemachten Verschlüsselungen hier haben da keine Chance. Und wer nur Nachrichten vor seinen kleinen Geschwistern schützen will, dem reicht die Umwandlung in Binärzahlen.
btw. Nitrosio, wenn du alles einfach nur in Binär umwandelst, dann kann man schon drauf kommen, dass immer sechs Zahlen einem Buchstaben entsprechen. Wenn d die Leute verwirren willst, dann setz eine zufällig erstellte Binärzahl mit etwa fünf Stellen vor den eigentlichen Code. Nicht gerade sicherer, aber dürfte für Fragen sorgen, bei einfachen Entschlüsselungsversuchen. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 06.05.2009, 16:35 Titel: |
|
|
Code: | dim as string nachricht = "zu verschluesselnder Text", verschluesselt
randomize timer
for i as integer = 0 to len(nachricht)-1
verschluesselt &= chr((nachricht[i] + rnd*256) and 255)
next |
wohl nicht so leicht entschlüsselbar
(obwohl ich auch da nicht zu 100% sicher bin, weil sich auch RND nachträglich berechnen lässt; aber wenn man ganz sicher gehen will, dann kann man die Verschlüsselung noch unabhängig von der Originalnachricht machen. ) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 06.05.2009, 16:42 Titel: |
|
|
RND lässt sich nachrechnen, du musst nur den wert von TIMER zur programmausführung kennen und du kriegst die ganzen selben zahlen von vorne raus.
und ziel einer verschlüsselung ist es _nicht_, nicht entschlüsselbar zu sein, sondern nicht knackbar zu sein, entschlüsselbar ist sogar eine voraussetzung, was bringt dir verschlüsselung wenn du deinen originaltext nicht wieder rauskriegst? dafür gibts dann hash-funktionen, und die haben wiederum die voraussetzung, dass sie immer das selbe ergebnis produzieren wenn man den selben input verschlüsselt, selbst dafür ist dein code da nicht zu gebrauchen
was also schreibst du für nen schwachsinn da? o_O
Nitrosio hat Folgendes geschrieben: | Ja, ich weiss: INP ist doof. Sollte aber auch nur mal so eine Idee sein. Wenn man alle Einsen und Nullen am Stück schreibt (ist eigentlich immer gut, wenn man nicht weiss, wo ein Buchstabe aufhört und der nächste anfängt; so zumindest meine Überlegung) und die Selbstlaute auslässt, dazu noch irre Abkürzungen verwendet und alles (den Binärcode)möglichst asymetrisch aufbaut etc., dann sollte das auch relativ sicher sein, oder? |
bloß weil mans auf den ersten blick nicht lesen kann ists nicht verschlüsselt, wie blöd wäre das denn? da kannst dus auch auf französisch übersetzen und wem unter die nase halten der nur deutsch kann und sagen "guck ma, verschlüsselt, toll oder?" - jeder idiot der bis fünf zählen kann kann die rückersetzung durchführen, wo ist da das problem?
also auch für dich: was für nen schwachsinn schreibst du da? o_O _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Zuletzt bearbeitet von MisterD am 06.05.2009, 16:45, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 06.05.2009, 16:43 Titel: |
|
|
Ich denke mal, dass meine Verschlüsselung "wahrscheinlich auch die Verschlüsselung von anderen hier im Forum" von nur 0,01 % der Weltbevölkerung knackbar ist.
Wenn nicht sogar noch weniger |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 06.05.2009, 16:46 Titel: |
|
|
na und? sie ist knackbar also untauglich. es gibt nämlich vieleicht noch 0,00001% leute, die tatsächlich das ganze knacken wollten, und die sind entweder selbst teil der 0,01% dies können oder kennen jemanden aus den 0,01% oO _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 06.05.2009, 16:55 Titel: |
|
|
Zitat: | ziel einer verschlüsselung ist es _nicht_, nicht entschlüsselbar zu sein, sondern nicht knackbar zu sein, entschlüsselbar ist sogar eine voraussetzung, was bringt dir verschlüsselung wenn du deinen originaltext nicht wieder rauskriegst? |
Sicher, ist mir schon klar. Dachte aber, dass das durch die -Smilies klar wäre ... _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 06.05.2009, 17:07 Titel: |
|
|
sorry aber bei dem IQ durschschnitt der sich hier im forum letztlich aufzeigt gehe ich inzwischen davon aus, dass leute den benutzen um cool auszusehen  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 07.05.2009, 02:39 Titel: |
|
|
wie wärs denn mit dem wohl sichersten algo? .. onetimepad mit na gekoppelten germaniumdiode. Beide datenströme aufzeichnen, den einen per brief den anderen per mail verschicken und fertig is das nahezu (aktuell und wohl auch noch in naher zukunft) sichere ver-entschlüsselungskonzept.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 07.05.2009, 18:26 Titel: |
|
|
Es ist sowieso alles Müll was ein einzelner entwickelt hat, sowas GAB es früher, HEUTE nicht mehr.
Der einzige Algo, der von einem entwickelt wurde, und der einigermaßen sicher ist, ist RC4 (6 ist ja der Nachfolger) |
|
Nach oben |
|
 |
Lutz Ifer Grillmeister

Anmeldungsdatum: 23.09.2005 Beiträge: 555
|
Verfasst am: 07.05.2009, 19:41 Titel: |
|
|
[OT]
Pauschalisierungen sind generell falsch.
(Und alle Kreter lügen )
[/OT] _________________ Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|