#!/bin/sh # MetaCard 2.4 stack # The following is not ASCII text, # so now would be a good time to q out of more exec mc $0 "$@"  Verschluesseln0ai ULucida Grande WLucida Grande cREVGeneralscriptChecksumُ B~ bookmarks handlerListscriptSelection char 1 to 0 prevHandler tempScriptscript

 @i  i6 cREVGeneral revUniqueID 1044973599423i cREVGeneral revUniqueID 1044973715261 Eingabe)`v cREVGeneral revUniqueID 1045022628428  2ein schuster lacht nie ber ein loch im universum`w Entschlsselt)`&v cREVGeneral revUniqueID 1045022634429  2ein schuster lacht nie ber ein loch im universum`wverschlsselnpon mouseUp --erstma passwort in eine zahl umwandeln repeat for each char theChar in field "password" put chartonum(theChar) after password end repeat --jetzt den zufallsgenerator setzen set the randomSeed to password put password into field "passzahl" --buchstabe um buchstabe verschlsseln repeat for each char theChar in field "eingabe" put ( random(field "Zufallszahl") + chartonum(theChar)) & return after theEncoded end repeat --ausgeben put theEncoded into field "verschlsselt" end mouseUp jOd cREVGeneralscriptChecksum=s2oh0u(<\W bookmarks revUniqueID 1045022644312 handlerListmouseUpscriptSelectionchar 309 to 308 prevHandlermouseUp tempScriptscript

on mouseUp

--erstma passwort in eine zahl umwandeln

repeat for each char theChar in field "password"

put chartonum(theChar) after password

end repeat

--jetzt den zufallsgenerator setzen

set the randomSeed to password

put password into field "passzahl"

--buchstabe um buchstabe verschlüsseln

repeat for each char theChar in field "eingabe"

put ( random(field "Zufallszahl") + chartonum(theChar)) & return after theEncoded

end repeat

--ausgeben

put theEncoded into field "verschlüsselt"

end mouseUp

 password)`*Tabsfalse cREVGeneral revUniqueID 1045023005809  kurzentschlsselnp on mouseUp --erst mal das passwort in eine zahl umwandeln repeat for each char theChar in field "password" put chartonum(theChar) after password end repeat --die passwort-zahl nun als grundstock fr den seed nehmen set the randomSeed to password --dann zeile fr zeile in buchstaben umwandeln repeat for each line theLine in field "verschlsselt" put numtochar(theLine - random(field "Zufallszahl")) after theDecoded end repeat --ausgeben put theDecoded into field "entschlsselt" end mouseUp Nd cREVGeneralscriptChecksum tC `, revUniqueID 1045023333691 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelectionchar 144 to 143script~

on mouseUp

--erst mal das passwort in eine zahl umwandeln

repeat for each char theChar in field "password"

put chartonum(theChar) after password

end repeat

--die passwort-zahl nun als grundstock für den seed nehmen

set the randomSeed to password

--dann zeile für zeile in buchstaben umwandeln

repeat for each line theLine in field "verschlüsselt"

put numtochar(theLine - random(field "Zufallszahl")) after theDecoded

end repeat

--ausgeben

put theDecoded into field "entschlüsselt"

end mouseUp

Verschlsselt)`v` cREVGeneral revUniqueID 1045024089225  2513456 1713252 2695364 2842999 280087 219482 2189162 776400 1562464 1960208 128538 1992233 2615361 3004342 1061119 2827594 1902090 1366672 391398 1651129 2480680 1599175 1834339 2224641 2213371 244537 1081945 730473 2067650 381491 2052184 450042 365986 2334881 1738827 1562065 1364721 180745 3039384 511426 415081 2364963 146647 1856888 1467707 1060834 2953126 718970 1855458  ` w  New Field 1 ~ cREVGeneral revUniqueID 1045024164602 Passwort  passzahl(@@2ZTabsfalse cREVGeneral revUniqueID 1045024199872  107117114122  New Field 1 3~ cREVGeneral revUniqueID 1045024301130 Passwort in zahlen  New Field 1 a cREVGeneral revUniqueID 1045024314509 Eingabe  New Field 1 b^ cREVGeneral revUniqueID 1045024337272 Verschlsselt  New Field 1 "a~Tabsfalse cREVGeneral revUniqueID 1045024370573 wieder EntschlsseltHilfe%pon mouseUp if the visible of field "Hilfe" is true then hide field "Hilfe" set the label of me to "Hilfe" else show field "Hilfe" set the label of me to "Wieder" & return & "wech" end if end mouseUp 0+Hilfe cREVGeneralscriptChecksum { V bookmarks revUniqueID 1045024769405 handlerListmouseUpscriptSelectionchar 221 to 220 prevHandler tempScriptscript#

on mouseUp

if the visible of field "Hilfe" is true then

hide field "Hilfe"

set the label of me to "Hilfe"

else

show field "Hilfe"

set the label of me to "Wieder" & return & "wech"

end if

end mouseUp

Hilfe!`0& cREVGeneral revUniqueID 1045025233837  Soo viele Felder...  )Der Text aus dem rechten Feld wird mit hilfe des Passwords verschlsselt in das mittlere Feld gespeichert. von dort wird es dann wieder zurckverwandelt im rechten Feld abgelegt (mithilfe des selben Passworts, wenns niemand gendert hat). wenn das Passwort nicht stimmt, kommt nur bldsinn raus. Das "Passwort in zahlen" Feld enthlt die Version des Passwortes welche fr die Umrechnung benutzt wird. (da knnte man dann auch noch andere Sicherheiten einbauen, im Augenblick ist es einfach eine ASCII-tabelarische Umrechnung).  Die Zufalszahl ist auch nochmal wichtig (muss die selbe sein) sonst kommt wieder nur Bldsinn (mehr zu der Bedeutung der einzelnen EIngaben in der "technischen" Erklrung. Lustig ist auch wenn man Zahlen im mittleren Feld ndert bevor man sie wieder Entschlsselt. Was genau abgeht:  tDieser Stack zeigt wie man mit hilfe der Zufallsfunktion eine mittelschwer zu knackende Verschlsselung machen kann. Diese funktioniert mit einer "zuflligen" Zahl. Diese ist aber eben nicht ganz zufllig, sondern abhngig von der "RandomSeed" Zahl, denn eigentlich ist die "zufllige" Zahl in einer Liste und bei dieser wird dann sozusagen beim RandomSeed angefangen. Aber man kann ja dann auch immer einen Bereich whlen, also dass zum Beispiel dass die Zufallszahl zwischen 1 und 10 liegen soll. Die "zufllige" Zahl wird dann benutzt um aus den erwnschten Zahlen eine auszuwhlen (keine Ahnung was dann da genau abgeht). ein Beispiel: unsere extrem zufllige liste: 1, 2, 3, 4, 5, 6 unser Bereich: 1-4 jetzt whre der random seed zB. 3 das bedeutet das die erste zufllige zahl mit "3" (die Zahl an dritter Stelle) errechnet wird. da die schlussendliche Zahl zwischen 1 und 4 liegen muss, muss mann mit der drei eine komplizierte Rechnung machen, um dann zB. .... 3 zu bekommen ;) Ausserdem:  Grundstzlich ist diese Methode der Verschlsselung nicht sehr sicher, da man keine sehr grosse Zahlen nehemen kann (interne limitation von RunRev). als vergleich: deine 128-bit Verschlsselung kann jede Zahl von 0 bis 340282366920938463463374607431768211455 sein. RunRev hat aber mhe beim rechnen mit grossen Zahlen, und es scheint als wrden in unserem Fall alle Stellen nach der zehnten ignoriert. Das bedeuted, dass zB. 1234567890 genau dass selbe Resultat ergibt wie 1234567890 0 oder 1234567890 987654321 (leerzeichen wegen Lesbarkeit). Das fhrt dann dazu das eine Zahl mit weniger Stellen sogar sicherer ist (weil man dann nicht gegen oben hin limitiert ist in der Zuflligkeit). Deswegen habe ich mich fr 3141592 entscheiden (erste Stellen von pi). indem man diese Zahl auch noch verndert, kann man brigens noch mehr zustzliche Sicherheit einbauen... Das gilt auch fr das Passwort! Weil ich das so Amateurhaft gemacht hab, werden nur die ersten 4-5 buchstaben benutzt (!) Wenn man dass Passwort aber anders berechnet, kann man natrlich auch mehr Buchstaben mitmachen lassen. Wer, wie, warum:  xDieser Stack wurde von mir (Bjrnke von Gierke) erstellt, um KlausiMausi zu rgern, und weil ich viel zu neugierig bin. }Das ganze wurde in ca. ner stunde zusammengeschustert, nachdem mir das mit dem randomSeed beim e-mail lesen eingefallen ist. kDer Stack wurde mit Runtime Revolution erstellt, sollte aber auch unter MetaCard problemlos funktionieren. Zustzliche Fragen oder Tipps (die nicht Mit rechtschrebunk zu tuhn Habn) am besten gleich ins Forum (www.revolutionboard.de) oder an mich mailen (bvg at mac.com)  `1$  Zufallszahl)`*Tabsfalse cREVGeneral revUniqueID 1045027322910  3141592  New Field 1 ~Tabsfalse cREVGeneral revUniqueID 1045027388866 Zufallszahl