BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- C++ - Frage Geheimsprache (http://www.black-board.net/thread.php?threadid=13494)


Geschrieben von bluesky am 26.08.2003 um 20:14:

 

@Kalka , mann ich glaub ich bin echt zu doof dafür großes Grinsen
oder du verstehst mein problem nich ( du würdest sagen das das erste das richtige is großes Grinsen )

das programm muss ja irgendwie wissen durch welches zeichen ein normales zeichen ersetzt werden soll ... wo kommen diese zeichen rein und on welcher form ... ?
und wie soll ich das prog per eingabeaufforderung starten ? ( so : "start c:\geheim.exe" ? )

ich glaub ich geh dir langsam aufn nerv unglücklich falls es so is sorry !



Geschrieben von Medusa am 27.08.2003 um 12:06:

 

@Cracker
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
Dim Decoded As String
Dim Encoded As String
Dim KeyDecoded() As String
Dim KeyEncoded() As String
Dim Found As Boolean

Decoded = "a,b,E"
Encoded = "[test],a,b"

txtEncoded = ""
KeyDecoded = Split(Decoded, ",")
KeyEncoded = Split(Encoded, ",")
For i = 1 To Len(txtDecoded)
    Found = False
    For j = 0 To UBound(KeyDecoded)
        If Mid(txtDecoded, i, 1) = KeyDecoded(j) Then
            txtEncoded = txtEncoded & KeyEncoded(j)
            Found = True
            Exit For
        End If
    Next j
    If Not Found Then txtEncoded = txtEncoded & Mid(txtDecoded, i, 1)
Next i
txtEncoded und txtDecoded sind 2 Textboxen. Es wird von txtDecoded nach txtEncoded verschlüsselt.

code:
1:
2:
Decoded = "a,b,E"
Encoded = "[test],a,b"
Decoded enthält (durch Komma getrennt) die Buchstaben, Zeichen, etc, die ersetzt werden sollen, Encoded enthält in selber Reihenfolge die Zeichen, durch diese die in Decoded stehenden Zeichen ersetzt werden sollen. Blöd formuliert, ich weiß... In diesem Fall wird a durch [test], b durch a, und E durch b ersetzt.

Das is glaub genau das, was er will. Nur kann ich kein c/c++, also müsste es jemand übersetzen.



Geschrieben von Kalka am 27.08.2003 um 23:50:

 

@bluesky:

*gg* also erstmal wie der das macht..Der liesst ein Zeichen aus der Datei, z.B. "H", so das addiert der jetzt mit nem andern Buchstaben, und da kommt dann z.B. "(" raus. Diesen Buchstaben schreibt er in die andere Datei, wo nachher der Versclüsselte Text steht Augenzwinkern

und starten kannstes ganz einfach, nimm die Compilierte Exe-Datei und nenn sie um zu "crypt.exe". Die Datei kopierste nach C:\crypt.exe. So, jetzt starteste die Eingabeaufforderung und wechselst ins Verzeichnis C:\>. Jetzt musste nur noch das Programm mit den Parametern starte:

crypt c:\test.txt c:\test2.txt X c

vorher musste aber die Datei c:\Test.txt erstellen und dort was reinschreiben, was verschlüsselt werden soll - das verschlüsselte schreibt er dann in die Datei c:\test2.txt

verstehste?

cu Kalka



Geschrieben von Medusa am 29.08.2003 um 12:21:

 

Hi,

bluesky will aber, dass bestimmte Buchstaben durch andere Buchstaben - oder auch längere Strings - ersetzt werden. Dort, wo vorher der Buchstabe a stand, soll nachher zum Beispiel _:ü. stehen. Es gibt also keinen Algorythmus, wie die einzelnen Buchstaben ersetzt werden, wie zum Beispiel: Jeden Buchstaben um 5 erhöhen, oder so was...



Geschrieben von Cracker am 29.08.2003 um 14:25:

 

Bei mir steht dann: "Fehler beim Kompilieren: Variable nicht definiert"
Das ist wegen der Zeile 13 mit dem i. Das i wird markiert.



Geschrieben von Champus am 29.08.2003 um 17:05:

 

@ Cracker (eigenartiger Name):
Füg einfach über den Code unter die Dim Zeilen
"double i" ein :>

Achja es sollte ja eigentlich kein Copy & Paste sein sondern eher nur Hilfestellung was hier hingeschrieben wird, deshalb können sich mal Fehler einschleichen.

Edit:
Mit 'nem Linuxcompiler haste den Fehler nicht (bei mir lüppt's z.B. mit gcc)



Geschrieben von scr!pTk!d am 04.09.2003 um 00:07:

 

@Kalka:
Dein Programm eignet sich nicht gut zum Verschlüsseln von binären Dateien, da dort zum Teil EOF-Zeichen auftauchen und deine crypt-Funktion dann abbricht.



Geschrieben von Molag am 15.09.2003 um 19:03:

 

Hmmm ich habe auch mal sowas geschrieben .... das ist einfach zu knacken ... wenn man das Zeichen durch ein anderes ersetzt willst du was nochrelativ sicheres machen musst du das eine Zeichen durch z.B.
110 Zeichen ersetzen !!!
H = !dfoiz45°!234ß0ü*GDFjfougsd21437gz hgRTZU) N/&! ZGHFJO LTU)"'/*'°O° /)%)ZH° )Ü%/) NGHKP§Ö ZH&IPFZH DGNÖ%HJI§GH

das macht die Sache schon um einiges Komplizierter wenn du ne Variable länge nimmst ... das ganze dann später als Binärtext speicherst und am besten nochmal drüber laufen lässt ...
das sollte reichen !!!!

Aber das Problem ist nur das man dadurch auch den Binärcode zerstören kann !!



Geschrieben von scr!pTk!d am 15.09.2003 um 19:07:

 

Zitat:
Original von Molag
du das eine Zeichen durch z.B.
110 Zeichen ersetzen !!!
H = !dfoiz45°!234ß0ü*GDFjfougsd21437gz hgRTZU) N/&! ZGHFJO LTU)"'/*'°O° /)%)ZH° )Ü%/) NGHKP§Ö ZH&IPFZH DGNÖ%HJI§GH
[...]
Aber das Problem ist nur das man dadurch auch den Binärcode zerstören kann !!

Ein ganz anderes Problem steht hier meiner Meinung nach im Vordergrund:
Die verschlüsselten Dateien werden 110mal so groß.
D.h.: Ein 100kb Worddokument wird ca 1mb!



Geschrieben von Molag am 15.09.2003 um 19:12:

 

Das ja ... aber dafür ist es ziemlich schwer zu entschlüsseln, und wenn das einem wirlich wichtig ist, dann kann man sowas verkraften!!!

hier ein Beispiel
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>

int main()
{
	char cLetter;
	char cLetters[110];
	char cDateiname[50];
	int  nWahl;
	cout<<"Dateiname:";
	cin>>cDateiname;
	FILE *fFile = fopen(cDateiname,"r");
	if (NULL == fFile) return 25;
	cout<<"Moment.";
	cout<<"Laden Erfolgreich!\n";
	cout<<"Wie soll fortgefahren werden?\n";
	cout<<"1) Encodieren\n";
	cout<<"2) Decodieren\n";
	cout<<"3) Abbrechen\n";
	cin>>nWahl;
	FILE *fFile2;
	int i=0;
	switch(nWahl)
	{
	case 1:
	cout<<"Encodiere.";
	fFile2 = fopen("Encoded.enc","w");
	if (NULL == fFile2) return 22;
	while (!feof(fFile))
	{
		cLetter = fgetc(fFile);
		if (cLetter == '^') fprintf(fFile2,"6806?11""´0$3&=$5=Wq=ßeWqteZZüPüu*@ErzrrEEr+aaÜÜgg~FjSg€Ö€ÖäÖGJskLGök²Ä<<x#x<BY,MMMM,_>cVy>.V;bm{{;} R`ßeeRWoI");
		if (cLetter == '°') fprintf(fFile2,"ZPo@üQ*rzOETOOUS~O+FaalHFg'€€'lÖGJhJGf#öh#²Y²#<BYBBMn>>yyyb>³XNc.N;;;m{{]µ{\\\\\\``eZueWo*I*QPQTEUEUrOrTpÜ+d+S~~H");
		if (cLetter == '1') fprintf(fFile2,"gjjj€äKDÖäDAADJfGh²kÄx<vnBC:nv³---,³NVcVNVm{{{\\.}\\{(WW=ZRIRüütoQPEQ@QEEipUppU+FaHggajÖ'l€'€A'€kDkDLhJh²ÄY#YnxC");
		if (cLetter == '2') fprintf(fFile2,"vB:nn³yc_c>XycmmNµmµ;} (=`etRRZüPIoIrrwETwrOU+TS++SHaadSäFKÖAls'䀀kDöfÄhöY²x<n#xBMMB:³y³³c>cmymcNµN|{{{]\\\\(`e");
		if (cLetter == '3') fprintf(fFile2,"qRtIPuouoQrPwwUUrUTp~SÜd~~gdjlFgKjäslsäDDkhDfLÄLxÄIJvv<<vC:BM³X,Xc>NccXNmb|µ}}9=`ßRIeoIRZuoE*EüTEUOriU+SFFSSaF");
		if (cLetter == '4') fprintf(fFile2,"HÖglgKÖDÖ'äDGAhJÄhkJ#Lx²<MC:BM>-:,_XbbV;;mNVb|.[ \\ß`RR`IZoIoZZwQTPT@QzrÜOizaOpaÜjHgjÖÖlÖ€DÖAhGGDkk#JJkx<²v<Cx,");
		if (cLetter == '5') fprintf(fFile2,"BnB:³³::>bV;b..{;m\\{][{eq`ZWqqZüZuüü@üüwzzEwzzOiUÜaF~KgHFHlÖäjDs€€€sLLöÄGLÄYC²vYCnYC,v>³-,yXcNb;b.V{mµ}] }e`te");
		if (cLetter == '6') fprintf(fFile2,"WIeIuü*Io**@*QiTizOip~apa~HgSjKgKäAÖ'ÖhDfDöJkö<öx²öCvYB:nC_-::c_>ymb|Xmm.]. µ {{ ß`tuWZPRüPtIoüTTQrriÜirpUUÜa~");
		if (cLetter == '7') fprintf(fFile2,"SHKSK'äHA'ä'€f€kshkhJJLx#x<CCCB:B--:³,bbb>bX.V{{[{µ]99e`qWPuüIIuwüQEzwwOrT+O~~aÜdFjdaKj€ÖKÖsl'sAkfDÄÄ<²YLx²ÄvB");
		if (cLetter == '8') fprintf(fFile2,"M:xv³:yccX³X;Nc.mµµ[|][\\µßßW`uqWueu@@QP@PrEOOÜTUOÜ~~agg+djKHgl€slA'DJsLfökL<IJÄÄ#BC:Mv³>:M³cbb>N;b|.{.N\\µ{{}} ");
		if (cLetter == '9') fprintf(fFile2,"ß9q`qoIIRuoüQww@ziTrOrOUU+a~SggFlÖlgKKAAäG'€GfkköGhLLCC<BYxB,BB_:Xcy_>;;cN;..|µ[`eetIteZoZI*owTr@zErirOUaid~~a");
		if (cLetter == '0') fprintf(fFile2,"KdSÖäFjAä€fs'sGDG##Jk<<LC<YnMCnn,n,>>VXXNVb.m[N[}[} { W9`ßqReoePPüw*üEüQUOzT+~aUFd+~~FHÖj€ÖKDsG€GGkkfJhk#kxC²²");
		if (cLetter == 'ß') fprintf(fFile2,"B<BBx:_yM,_V_XcbbµNV]|µ\\| ßWWqRoZZ*Z@ZQQrTrwTwzÜUUiaaÜFHgFSlKljÖAä€ähkJsöÄÄLÄÄYöCÄCC,CC_:³,_-y-yyVN.{bb|[[µ [`");
		if (cLetter == '´') fprintf(fFile2,"=`ZIZZRIII*EoTüQwwOTpiO+~aÜFFdHajgF€AÖ€lsDJhhkkh#k²öÄB<C,_MB:_,yXXXycX|{|{|;||µ} \\\\}`W=WWIRoüu@üoITüwEwiÜUU~z");
		if (cLetter == '!') fprintf(fFile2,"a~~F+HKjgFgKjä'fsAD€fkG#hkök#<#<B,M:--:³yc>VbbX;mNb.µ};|[ßqZeqIuZIPPouE*z@UUOTTizÜpa~ÜHjgÖlÖKjHAAGA€DfJLLööö#ö");
		if (cLetter == '"') fprintf(fFile2,"}]}\\e``q`oePüüo**ErT@rQrTpU~~O+aaHdKSÖl€g€s€äsf€fGkLöLÄkö<²n²MCnn,nM,Xcy³_>;.b;m;[µ] }[\\qtR`q`qotoo*PEEr@E@iip");
		if (cLetter == '§') fprintf(fFile2,"p~a~SFgddHKKFK€'säÖ€DAkDGJL#<#LL²C²<xv:v>M,_:VVNbm.cbN|};  qWeWZuutRtZuwüwTzQiTEÜpUÜOdOS~aalägÖjj€sf'GJsfkÄk²#");
		if (cLetter == '$') fprintf(fFile2,"ÄxvvY,B:,-:>:c_³ymy|NN;N.µ[\\}µ9e`WZRqtotu@üüwTQTETir~iUO~ÜaaKdgÖjHÖ'äDlf€JkDöLkJ²x#öCCMB,,-M³>->y>c>;cVb;b|µ.µ");
		if (cLetter == '%') fprintf(fFile2,"²öÄ<<YMn::BM:Mccy³bbVX|bmNm{|}|{][]}q`9ZuZtZRIu@*EQE@rOTT+rOpÜadÜÜjSSlj'HjläfGfssDJGkÄÄYxYCY<YYM_B,³³MX-V_VXNb");
		if (cLetter == '&') fprintf(fFile2,"mµm..]WW9ttIeüütQQIEEQQ@QppÜUUappgpdFHSKHäÖHDÖG'D'DhfGLÄöY<CÄYvCvn,v_>X--b_ymc;cN.[[]]\\RRRßIoetRPo*Q@wTwE@Ezzp");
		if (cLetter == '/') fprintf(fFile2,"Ü~pÜÜFÜaKgSäg€jK'l'AfLAkDÄ#ÄJ<#CYvBxCn_:,:_,yXXmXXcb;;|\\{{}}]]}  (W`WqoWZIoZIü@T@*QQrprO~SpOaSg~dHdF€HäAÖ€'A€G");
		if (cLetter == '(') fprintf(fFile2,"Gff²h²Y²CvYxn:,Cv-:--X>³yV;N;µ|µ|.{}eRWßqWottPQ*QPPP@QrriOO+UpapSSHljÖÖ䀀ÖA€DAJJLhf#kh<<<öv#,MC,M:-_X,y>yycN|");
		if (cLetter == ')') fprintf(fFile2,";[[.}\\ =9`ZWWWZü*tüüo*rrQEUrrzÜaÜOF+SHjKSKÖK'AKlsGDGGGÄkhL#xöCÄCvnM,M,-y,_³_c;mbN|[;];| qß`WeuqWoItüwPQEU*rEwT");
		if (cLetter == '=') fprintf(fFile2,"pOSadSdHjHgKHKääll€'JD€höLÄ<kY²YÄB²xYMxBv:>_cV³³NyXmµ{]]]|µµ}]7WeetuWPIPtoIEüEQTrOÜzOp+~iÜddjljjgl€älä'f€fJköö");
		if (cLetter == '?') fprintf(fFile2,"öJY<Yö²Bn<Bnv_MBn-yVbc>Vc..bb{];µ=(ßetuZuZRüI*EQw*rTEiUrÜO++~agdjHädÖl'llDsJssJökökö²²x#xvCvvB_BB>>³>cN>V..|µ|");
		if (cLetter == '´') fprintf(fFile2,".µ.]]  \\qe==WtWuZZoI@wQzUTUEÜUÜUaad~d~gSjSKKÖjÖÖ€A'JDfÄkJököxC<<Yn,MM-,-yy>cbmm>NXµ|[|[}\\µ] qeet`utWZoZIP*E*Uz");
		if (cLetter == '{') fprintf(fFile2,"iwrz~U~+~ap~HFaFjHä'Ölf''€ffkhGJöYövC<²YYxB_,,,XyXXyNXXVµbµµ{{[]R==ttueeo@IwwE@würzwzp+UU~Ü~+gaHjlgHgääA€fffAA");
		if (cLetter == '[') fprintf(fFile2,"DhL<Jx²öCnYMxBvC>_ny_->bNmVm|;]..;|ßqßWßIqZRoooPIwüEQiEUziOSOS+FdFaFFllä'K'sDGf€JGföGÄöY²#ÄBB,,-nB³M>:Xymby|µm");
		if (cLetter == ']') fprintf(fFile2,"µµm\\;]µ\\[[\\ßReeWqWuo@Qww@QPwwTUOiUUOiÜFS~SjFägKAlälÖGGGALGfö<Lö²Y²xMYvMn:v,yXy_-b;V|N;V[|][ [\\ ]R=Wßtotott*ZII");
		if (cLetter == '}') fprintf(fFile2,"Qr@wrTiEpT+~+++HSFjjägK'K'f€JA€kLhGÄJk²²YvnxC,C_BnM_VyXNN>;NV.{;}|]]} (9Zß`etPoPooQP**@rUEpÜz+~pSÜp++ajKÖglKlD");
		if (cLetter == '\\') fprintf(fFile2,"GDAGshfD#Ä<kxövBx²Yn,:³y:_VXyVNVcbN{|µ;\\} ßeWutZtIeIoQIoQz@*@iiOOiaÜ+FgHSFÖdlgljäDfä'f€kLf#ÄÄL²v#<<vnMCMv>MX³c");
		if (cLetter == 'q') fprintf(fFile2,"VVc;||c;mµ..=9eqWIZeü*uIw*r@*TTEÜiTÜ~a~ÜS~~jlÖFäKKsäGäshsDGGÄLhYY²Äxv,vBBv³->_-V>bbmmVb;{{.µ{]\\`q9qRIZWüu*oEüT");
		if (cLetter == 'w') fprintf(fFile2,"üzTiEOOpz~~pSgjHjSjF'llsAffAfhsöDLÄÄÄk#<#vBCxnBM_M³,_ybbmVNµ;b{].[Rq=ZRRoZ*Zü*üQürTrrzpp~z~iÜ+S++aadäH€l'ÖG€s€");
		if (cLetter == 'e') fprintf(fFile2,"kLfGGGÄkkvYxnMx--Mv-M:X_³>mm.|µmN]][ \\\\ qeWWZWWoIü*wQo*rüEiiOpTza++pgjF~Kl''ll€DGssJfökGÄIJkYY<x²xMxCC,,:,y-NN");
		if (cLetter == 'r') fprintf(fFile2,"bNN.|{Nµ}[|]µRR`RtZPttuZw@QwEQrrzzzTaÜ~~dS+FlFdlKKlAäsDs€fDG#fhL#²öÄY<nnBxM-MyM:V-N>;Xc|bm]\\\\{ {]}(`=tZIWuto*Q");
		if (cLetter == 't') fprintf(fFile2,"QPü@Q*rUipTaUOpSgH~KHÖÖK€'ÖA€äGsfGföLIJkYYYCBx:xCn-³nX>>VNcmXm|;m|;]µ}{=`9etuWPPooQIQEETTwUiUrÜ+i~p+ÜjFdäHÖÖ'€");
		if (cLetter == 'z') fprintf(fFile2,"€fAJfJskLJkLkxYY<n,v::_-M³³-Xc_>N|cVNb|;|\\[][]W=RRWuRRRtuZ*@Prü@zEpp++~Od+HgSjjdFHÖ€jÖfGD€GkJökG²²LCIJxCvC-M-M");
		if (cLetter == 'u') fprintf(fFile2,",ycV_mmNN|µmb{m[µ\\\\[qtRRReWPo@oQowwrEQrOpTpaOdpSÜÜHFSäKHKl'ÖäDhGDLfh²kJLL<²nxMvnB--Mn³Xc>_NXbm||N.|[ [=9RWWWII");
		if (cLetter == 'i') fprintf(fFile2,"e*uuI@@wTTrzOp+~Üi~p++SgHKg''äÖäs€€hhGhkö#YY²öx#<BMvvn³³Myy>>>c;|bb|.{[]µ}`=tZqWqoIIZü@I**TTrppÜiUappÜ+FHFjdj'");
		if (cLetter == 'o') fprintf(fFile2,"äjsläAAsJDöLGhIJxCÄ<²,,,M:B>y³X>>NXcccNµN.{µ}[  }\\e`=RRIqZItPuQwErUwQEUUÜi~~+++S~jKdFäKÖ€ässAAAAhLL#ö##YB#BYY,");
		if (cLetter == 'p') fprintf(fFile2,",_-y,-³V³mcbc.c.;{..\\ {(eßßZetRIZIoüQüPTTEwEE~p+pdOgHSKdFHg€äÖKDs€GfAGfJÄ<#Cxönnvvnv:,-³-y_³cV;N|m;.m{ 9=WqeuZ");
		if (cLetter == 'ü') fprintf(fFile2,"tIP*IQwüzw@TOOEiTiÜ~SFFFSdd'lÖjÖls€A'GJöÄG<<#ÄL²Yxxxv:_BM>>yc_yXy;b||{|}.[[] (tqqWeeüPZtQPüQ*QzUzzTÜOiÜpSÜggdH");
		if (cLetter == '+') fprintf(fFile2,"jgHg€ADÖäsAshJkLIJYöL<BvCYBM,,nX_-_-b³NVb|bNmµ\\µ{}[`=RWRRIotRPIw*QüüwUpEzTaU++apFSdjHjÖäHÖD''AfDhöhJkJ²#YöYB²Y");
		if (cLetter == 'Q') fprintf(fFile2,"v:,³_>XcXc>X.X;V|bµ]\\µßWßqWZeWüRZPuw**UUErrziO~+p+dHadlÖFÖ€KKlÖD€AkköL#L²ökxYYvxCB--B:³y__V>yXV;Vµµm|][ ßße=`t");
		if (cLetter == 'W') fprintf(fFile2,"tZR*üouwwzQ*TEprTa+S~ddÜ+jSjlÖ€KlÖDD'hGAJLL<<xÄ<#CvYB,CM_n:M>-³_cmV||{{|[µµ}Rq=tWuRZIt*u@üTüUiiwUEOOid~~ÜHgKgF");
		if (cLetter == 'E') fprintf(fFile2,"jjKKlf€AG€LGöh#höx²öÄ#BxYMMB_-³:XV>mXX.cc;[[{µ \\}[ q(WßZZtReoüZ@oQüwUTiEzpOO+pgÜS~HSFäH€K€€läJ'ffffhöLY#vxvvnv");
		if (cLetter == 'R') fprintf(fFile2,"nM-:y³:XVXN>mb..NN.\\{\\\\`qRZßRWPotZowEPwQ*QpTpiiUSO+SSFFgd'äKäjääGsDLfhÄö#ö²²x²CBvMx,C>_y_y_bNyyNµ|;.m}| |}qRR`");
		if (cLetter == 'T') fprintf(fFile2,"RtttZtQüEPwwTwiOEipppp+gaÜFHlKgj'äAäÖfshGskÄLLÄkYv<²C,vMC³,_yMV-X_Xm;N||µN[[µ}\\[ q`=RZIRtPoouuQ*zwQzpzzriia~OH");
		if (cLetter == 'Z') fprintf(fFile2,"S~lFFKllljls€ä'DkGGkJ²Yx<C²MCv:-_MM>y>cVcb;c.V{Nm[}}µµ}ßß=qWIqRIZ*o**PEEzzirÜOppS~dÜFdagdjl€s䀀GDDkJhDhJk²k#Y");
		if (cLetter == 'U') fprintf(fFile2,"nx<vn:-M>y>-XVNbVVcVµ[m;{|\\[ =`ZtRWZotPIZIüüzUzzEpUTi+aapa~SjlÖÖllAäDA'€GAöJÄhL#²<<x#<vvY,,³_>_y__X;>cmm{µ;\\{µ");
		if (cLetter == 'I') fprintf(fFile2,"\\µ[](qeqWtuoIIZ@o@TzTrUzTE+~OiSÜ~gSgjdHjl'Käää'DGfDLöLJ²#²²#CnC-BMn:n:cV³>cc;.VbN|]|`ßZßIIuuü*PPüorüzwzTUpÜp~Ü");
		if (cLetter == 'O') fprintf(fFile2,"O~SS~KdlÖKj'ls'f€hfhDD#Gk<x<B#n²CMnC,-M,_V_ccb;V.;µ]µ{ }=tßuWRPRtPIQwEQTrUEwEÜppzip~aFKagHKjä's䀀äGGDfJÄh<²²#");
		if (cLetter == 'P') fprintf(fFile2,"xvYMC:_M_,nM--³y³V..|;;;.{]\\[[(9q`RWtPItuüIwPüQwizwpUÜaÜO+a+~~dKäÖÖK€läD'sGDLk#LÄLYÄvYCxB,nMB>y:>:c_VbmVm|[{.|");
		if (cLetter == 'Ü') fprintf(fFile2,"}}WeqW`qIüZuIQ@QoüQ@UErOÜÜO+pÜagjHSÖKK'äAA''AG€GsGk#ö²LLÄ<nvYCvB-MM>c>X_V;N.mbm;.[\\]] (WtRqWtIIPtüwrEEEiUpEp+a");
		if (cLetter == '*') fprintf(fFile2,"~S+++HgHKÖdäKHK'äääffJkDhLIJxL²CB,vxn:n,_-X_cVbV;;|.][]µ{ }(9teeIZuPuo*PwPrQQEzrOOpiSpÜ+ÜgKHäKjK'ää€ÖsGsALfJLÄ");
		if (cLetter == '@') fprintf(fFile2,"YY²<xMnBC-,,,,-_y>_³;X.V.µm; µµ[7eeeßRtZPRZQQ**QzEQrÜpz~p+dÜggjjSlF'jÖssähGJDöffÄ#²Äkx²vvC<CBv_-y-Xb_cV;cVµ{µ|");
		if (cLetter == '€') fprintf(fFile2,"|.{\\\\=RZßquuRü*uüoPP*QTirppTz~ÜidpdgalddÖÖA€€sAG€fJÄÄGL<kkö²<²CnC-_M_>_:ycV³>m|{NN|µµ} } ](9`RZoPuRPPw@@üwTrwr");
		if (cLetter == '~') fprintf(fFile2,"irzOaOO+SSgadjgKHA€säGGhGJföÄ#YxLÄxBBv:MC:M,³-c:VbN.cµV|µ}{µ ] ßqqeßZeeto*I*PüQzTQwTOp+SUSpS~~jlgKlKä'DäfsAGDk");
		if (cLetter == 'a') fprintf(fFile2,"hkhk²²Cx#B<,:v-M³n-:XXcb;mVµbmm]][RßR`tItüoZuIQürrrzQirT+Ü~dÜ+dajHKdÖÖ''sAss'hfköhJhköLIJ<x<MC-B_>_-y->m>NVbN;");
		if (cLetter == 's') fprintf(fFile2,"mm;]|]\\RRWetRPZüuoüurüw*QUzpUUzÜ+i~HFFajäKKHAAAf€DJJköÄGJÄY#²v²xC,,MCvMy,-cbN>;cmN|;}}|µ{ ßR9tItouRtuQüPQ*üETO");
		if (cLetter == 'd') fprintf(fFile2,"iTpÜÜddÜdgHHFlKjjÖÖäAäAhAöf#ÄL#kCxBCxnY:C-Mn:³XycNNV;|mN.m[ |µ[[]W`tRueqR*IP*u@E**ETzzOUpiiO~+aHFglj€l€lsA€GAA");
		if (cLetter == 'f') fprintf(fFile2,"GhkÄk<²<#x#²xBnxnM,³³-c>yb;m|||;µ...|µRWt`I`euoZZ*u*P*Ez@zpOUiUpagaFgdjlääHAÖ'sh€h€hLk²Äh²xÄ<vnBvY,B,_³_>cbNcV");
		if (cLetter == 'g') fprintf(fFile2,"m;;;Nm;.[\\µ[ WWqßqIuo*uu@*wr@wEzrpO~pÜSaÜ~~+jaFlÖlKÖäDssAhkGDL#J<ÄöB²vYnv_:-:,cXXNX;m;XV[|;][ {(q=RßtZet**üwPr");
		if (cLetter == 'h') fprintf(fFile2,"w@wzpO+z~~adaH+~jgHlÖAäälsfsGkhkÄöJk²Y#Y<xB,xn,:nMcyXXcbyVV;mb;..µµe9WWZuRIP@oIoor*rzwrzp+i+Sd~gSF~jjgKKsslGÖD");
		if (cLetter == 'j') fprintf(fFile2,"fDhGDÄLYL#<CCMMBYv_,³³>>XNy>>cmb|.m]|µµ{} \\q9==`ItttP@wEE*wüi@ET+ziU+dapÜgdgjHg€lDf'ADAhDJGfJJ<kCöBYYvnvvM>³,y");
		if (cLetter == 'k') fprintf(fFile2,"y-XmV;.|NNN}]eqtRuZeRZPPüP@Er*UQzOTTaO~dF~HFadSlg'l'l€ÖsG€GÄh#k#J²²ÄCMnCnB->³-:_c-y>VX.mm.;{\\]{[RWßttoWR*IouI@");
		if (cLetter == 'l') fprintf(fFile2,"Q@E@rrrTrU~SOgg+~HFFFjgÖAAAsDffööhfÄh<#xIJnCxMn:³__,_yb_Ny|cm.m.\\]| `ßeZtReZtZ@ü@wE@TUQErUÜp~~Sg~FFHgFFÖÖKÖKfs");
		if (cLetter == 'ö') fprintf(fFile2,"AfDhGG²²J<#vYB²<vvBvB_-:³Xycb.|bmNµ|µ.{ µ{]ß9qZRReIRuPooIPTE@@pipzOÜOS+HaFKSKg'lAä'lGf€skhfÄk<Ä<Y#vvCMC,³--_Xy");
		if (cLetter == 'ä') fprintf(fFile2,"V-Vc;c.N;m|[} {\\ß9=WR`etooIPürrETrQOzi+pO~daF~agHj'gÖj€Ö€'AAhAGJL<<<Y#B#Bx,BM,-³>M³V_NVybµb;mµµ\\]`(ZRRRoe*@IuE");
		if (cLetter == '#') fprintf(fFile2,"ür*rUQTprOÜO+Oap~aaSjKgÖÖK'äAAkfJLff#h²YxÄÄ#vMM:-:n>Xc>cXVy.µmb.[]µ\\µ[\\WßZeWZIeüI@Q*@rTE@EEÜiÜ+iS~d~aSKKHjÖÖj");
		if (cLetter == 'A') fprintf(fFile2,"ÖAÖDJJJGGkö##LC#C#BYY,BB_Bn:XVX>bmb;.m|m[]}eRqeIZZIZPZIQwrrrwzEppzOpOS+FgFdgKläH€KsäDG'JGfköJÄJ²LCÄ#Bv,:_>:_Xy");
		if (cLetter == 'S') fprintf(fFile2,"y>XmcNm{b{|\\. \\{\\9eRßqZtR*PIoIw@wzw@QwUU~~OOpSÜdKHÖjä€HläGD'JshLÄJ²Yö#YÄ<²xCvx::M:X:__³y;ybbµmµ{| \\We9=`ZIeoou");
		if (cLetter == 'D') fprintf(fFile2,"üwüüTTTTOTr+pa~i~FgFdjÖKFlljKÖs'hDköf#GL#Ä#vxYnnBv---,³³yyV>XXm.{.]µ{µ\\ =WW`ZoPRü*PZEo**Q@@zzOO~ai+p~SdFgdFÖAl");
		if (cLetter == 'F') fprintf(fFile2,"älf'fGLsLkf#²JöCYvM²Bx::n_Myy>_b;V||m;{}[µ. }\\]q=e`tutuItü*Q@Eü@UwrE+Üi+i+dHgddjgHÖjAä'äsJGJDs#J##kÄöÄCCB,:,v-");
		if (cLetter == 'G') fprintf(fFile2,":-_-b_XNbVc|V[|;[{(9ße`qeRRZtooPrQTEiOOpOpSSÜ~FagdaKjÖjljff'h€JhLDh#kkLCÄnxMv,-nnM,,>>VNyy;V|Vµ|..[µ\\(qtZqWZRR");
		if (cLetter == 'H') fprintf(fFile2,"IuP*owQ@QOzTTÜUiOSÜ+H~HKHgKjKsÖÖsAJsGGök#IJ#vÄ<<<CC,:nM:³__-XNm.Vmµ;[.}[\\[]\\ qqtZßIIuPüZu*r*T*rTiwiUzz~OpFjKKK");
		if (cLetter == 'J') fprintf(fFile2,"gÖjHKäA€ÖAhkfkLkJöL²Ä<#vx,BC__n,³>_y³cbVbm{;[]| }\\  \\=9ßZZZotü@@wwQ*ErQizEOOTpiOdpgHldF'K€KäA'hsfJGöDöÄÄö²xB²M");
		if (cLetter == 'K') fprintf(fFile2,"C,xBv,,,X³:y³;V.bmµN[µ][| }} eqt`qWRPRPuüuü@wQTUrzrT+ipFS~ÜKgFSHggK''f'D€AAGkGL#ÄYY<xvYxBB³:::_c³³bybXµVV|µ} |");
		if (cLetter == 'L') fprintf(fFile2,"{{eWqW``WoP***PP@**zwQrOzzaÜ~daFKjÖHäÖgAä''Ö'fAfökÄ#ÄLx<²#CCnnCC,n>c>>cbc>mNm||µ\\| [[9teZeRePPtZowwPrTwwrOOpUa");
		if (cLetter == 'Ö') fprintf(fFile2,"aipdHaHlKjgKj'Ös'AsJJDkkö²Ä#LCY²vYBvn-,>>-VN³V;cXmNmN}{]]ßtWe`eqZZZtü*owzzUEOUz~U~aÜS~gadSFFgjÖ€ÖlähfDkDhhökYx");
		if (cLetter == 'Ä') fprintf(fFile2,"#CC²²xv:nn,,:>VyXVmm.bNµ..µ|}ß`ttRRZeoI@oü@@@zQzwrÜ+~z++aFH+jÖdääKjD€AssAGAJöG##²YÄvYY<YnvB_³::X-_XNcmNµmbµ|µ}");
		if (cLetter == '\'') fprintf(fFile2,"[q`WZe`eZZüuIüw@TrTrUiOrzÜ~ddHÜjdÖHjHjjläs''fJGLhkJkLxÄö#CvvxMBn_M,³³NybVXcN|;{µ}][µ{ `WteRRPe*uüQwwEQUrzzTiÜa");
		if (cLetter == '<') fprintf(fFile2,"pdiÜSFFHÖljHjjÖA'€ssJfkJÄJYkkö##<B:MB:->,_y_b>bNcNc[m}].[| 9`9ZWuReoüu@Q**r@w@OTÜpzÜ~+ggFFSSH'Kl€KAGDsskJfÄhJh");
		if (cLetter == 'y') fprintf(fFile2,"Ä<<xB<MBBC__-X,V->bby.mµ{N}] µ}{{]ß9ZZIqWtZZ@P@QEEEwzzUzTO~Ü~ÜpdFaÖjggKjs€AAGsJJDöJL<²Ä<YvMBMB:BvnyX_VyVXbcmNµ");
		if (cLetter == 'x') fprintf(fFile2,"]]\\;\\ µRßRßZIRuZZZoowPQ@TOEipiTU+pagaFlFgäHlHADfÖäAGAGhh#JLLYÄYM,x:::³>-:c-N>³cybN;];[]]\\]]}\\`(tßtIIRü*üü*ü*wQ");
		if (cLetter == 'c') fprintf(fFile2,"@iETÜrpUda+d+KFÖgäF'äÖ€äGhJfskJh<#ÄY²v²vBxv:,BBy_>b>yymNVVm].;.µ\\ R=ßtuIWeZüZüPoE@rzzOrOU~+iaapjFdHSdKH€'DG€€s");
		if (cLetter == 'v') fprintf(fFile2,"LsÄööÄö²#Y²BvvBBnvMBMy_X>X>mbV|.[m{\\µ}==RtuIeüZI@**PPw*rizzUp~apdagÜFaKHKK'A€AfsskksDLöL<xk²²²<nCv,v-_³>X_bXb.");
		if (cLetter == 'b') fprintf(fFile2,".N|;N{|| µ][7(WqZIIePZoPP@@EQiOUOÜOÜi~d~pgdHSSäK'älfäG'GsfhhhhL<²#CBxMBvvnn:,XcV_mc;Xc|;N.µ|  \\(WßeeZZoIIPooEQ");
		if (cLetter == 'n') fprintf(fFile2,"wwzOrriO+zÜ+~ÜddFgjKHäsDÖfÖäDGhhhG²ÄLÄ<öY²YCxM,v:,:X³ccyVXXbm[;µµ}\\ RRqRZouüPüü@o@w@EwQpÜ+ÜÜ++~Oaa~dgdÖgÖjlDÖD");
		if (cLetter == 'm') fprintf(fFile2,"AGADJkIJL²L²YB²vvnv,,³M_³:bcmX|Vµ;|[{µ\\µ][99`eßoRWouII@roEw*EOziÜU+iigF~FKjläÖHA'DD€'hGsGGL²ö²Y#v#YnYx:B-_-,yV");
		if (cLetter == ',') fprintf(fFile2,"X³mNmVVmm{m]]eq`qtRZPRP*Pü@*rzQzwTEÜUSiSddHdKKHjläÖlA''JDDöL#GG#L#YvYYCYxnCB_-yX_cVcN;cm{[m{{][µ[}}=We=ßqtZett");
		if (cLetter == '.') fprintf(fFile2,"uowEP@riirTOz+O~~~aSFgKÖHAAADA'G€hLhJkLLY<CY²Mxv-,-:::M--ybVyc.b;|{[\\{µßßqq`outtuPPPrQQ@TrzEUi~~p+d+SKKKHÖH€ll");
		if (cLetter == '-') fprintf(fFile2,"'sä'€€hGkJJ<J##öBvv,:-_MM>:³cb>yy;N;m.m}}}=9WW`WWIIZtü@PPr@QUTzÜ+ippddÜd~gdKKK€'KlÖäsAsDLhÄGkJLx<vn<C:-v_>::c³");
		if (cLetter == '<') fprintf(fFile2,"c_c;c;;[|m{.|{ ]}](eqWqIootPIZQü@ww@wir+zzOpaFgFFSKHgggssKÖhDsfJkf²Ä²ÄöxvYnv<M-Mv-X_XbbyXmc.|{m[\\.{]qRqßqRuteo");
		if (cLetter == 'Y') fprintf(fFile2,"üuQrETzQiOOiTaÜ~FSdÜjFaÖKHHssääsAshDfhhök#ÄYBY²nx:v³³>y,-c³XX.NX.N|m{[| q`qqWRPWPotPPPQzü@EEÜprOaSdaH~dgjäK'lÖ");
		if (cLetter == 'X') fprintf(fFile2,"lAÖ€€GsJDh²ö<YööYCx,vv_vMM³::-³NXNbcbV;.{µ}}`WR`qqqoZuPüIEPzETOQzTÜU~pÜad+HldÖl'äAKsfäDs€JkGJÄJxÄÄYn#²,MMMnn,:");
		if (cLetter == 'C') fprintf(fFile2,"-Xyym>ycN{.µm\\|]]e=Rß``tWuou*QwüzT@TzUzUUOp+~~+FHKÖlFKläffDäsAsöööÄh<Äö<C#MvvM--y>>c>c³VXyNN{;[{.[µ(==ßZePtRtP");
		if (cLetter == 'V') fprintf(fFile2,"o*@P@TEOwUzU~OaaggSFdjSdÖlAllÖsAGsfhJ#k##C²#YnCCMxnnnX_³__>Vy.|;mµµ;|(WqWW`uZotuQwo**EUQrÜpTppipSFaKjadgläAA'D");
		if (cLetter == 'B') fprintf(fFile2,"s€€€kÄö#ööLL²#ÄB,Y-v³_yy:_Xcb>>.mmµ[[[ \\{}qW`WuZRZZ@*@ooEP*zizp+UUÜa~F~+F~ÖSÖHH€K'GG€'fGfÄÄhÄY#YCBnnBB_³-,M_³-");
		if (cLetter == 'N') fprintf(fFile2,"bVNc|bbm.][|}]{`ßt=ßoteRüu@o@@*ErQrpUrTpd+dS~SHjdÖääKÖfÖfDsDDLD#h#öYxBnYBYxM_Bn:>y-X³>;V;|b{;{| ßß`ZttZoRPouE*");
		if (cLetter == 'M') fprintf(fFile2,"@TrTUzUz+ii~~ÜSHdKHlFÖ'j€AÖääDJköJöhk²Y#ÄÄMvMxn::>>>:->VyccXNN.};[\\ [ßRqqWePou*Io@@TürEQzEOziS~FaFÜ~Sjjj€ä€'s'");
		if (cLetter == ';') fprintf(fFile2,"€DAfDkköhö<öY<BBM::::³-_,,:b>bXmµ{.[µ[]\\[Wq=ßZuIeüoZ@ü@ET*EUEzÜO~i+OddgFggKÖ'j€lADÖhsLsJÄÄÄÄIJx²#²nMYvn:,:y³c_");
		if (cLetter == ':') fprintf(fFile2,"VyNXbb{m]|}{\\RßW=uRqR*PuPo*T@TTwwppizpi~OFaHdÖHääÖ€'ä'''AGsöÄö#J²YxBYBYvYBnn,_>³-V_b;c;;N;.;|[}[(RßßWeRIuo@oIw");
		if (cLetter == '-') fprintf(fFile2,"Q@zEUTE+rUÜadpgHFjÖÖ'ä€HKlsDD€hkÄJhhL²²CC<<<:n:_M__>,X³³mybNb[NN;;]µ RWtRZouetIu@@owPrUwTOOÜÜSaaÜÜ+~lFlKlÖjälä");
		if (cLetter == '|') fprintf(fFile2,"G'D€skDfLöYÄÄÄn<vYxB_>,,>,>Xc³cXcm.µ.{}}µ[}\\7=RßueIRooP*PIüEEErQzUÜ~O~ÜFaSH~Öggj'KsKA€J€Gösh#J#YY#Y<MCx:vn:,Xy");
		if (cLetter == '³') fprintf(fFile2,"_--y>by;m|m|].|(e```tZZeIIPPw*üQUTipTUaOpÜdg+~aÖgjä'ä'lÖsGhfJhhk²ö##YvÄ#n,M:,³n>y>y-ycXcNmVb}µ]|{=eßßutZRtZoüo");
		if (cLetter == '²') fprintf(fFile2,"P*PQEEprizUÜp+ÜFgFHdÖÖl€äA€sfskhDÄfÄ#ÄY#LÄ<xYxMMv>>:_X-_m>.|XmNN{|\\[eq`ZWeIRuPIZ@w*EzrQQpUTÜÜOSÜ+HSaSKÖÖ'Kääss");
		if (cLetter == 'µ') fprintf(fFile2,"f'€fhJL#<ööx<Äxn<-:M³>MXybNmybXb||;|µ[] eRqtZ`tZ*üPQIrrüEzrOipU++dppÜSSSlddHäÖäKDfhkJLöJJöÄÄkCö²CMYnB_Mn>_>b-³");
		if (cLetter == ' ') fprintf(fFile2,"cVmXmµ|µ; {{\\}}q9ßtRuuRu*@IPEw*U@@UOrOz+iaÜggSjÖädÖ€ääÖsGsGsDsDGJLÄx<BBvMxn:v_³_,XVb³cNXX;.{][].[=ßtRWoRRoZ@ww");
		cout<<"."<<flush;
		}
		cout<<"FERTIG!!"<<flush;
		break;
	case 2:
	cout<<"Decodiere.";
	fFile2 = fopen("Decoded.dec","w");
	if (NULL == fFile2) return 22;
	while (!feof(fFile))
	{
		fgets(cLetters,110,fFile);

		cout<<"."<<flush;
		}
		cout<<"FERTIG!!"<<flush;
		break;
	case 3:
		return 2;
	default:
		return 1;
	}
	getch();
	return 0;
}



Das einzige Problem dabei hatte ich nur beim Entschlüsseln !! smile ))



Geschrieben von CDW am 15.09.2003 um 20:59:

 

@Molag: ne Frage, kannst du auch mit dem Programm entschlüsseln Augenzwinkern ? Woher weiß man denn bei der Entschlüsselung, welches Zeichen genommen werden soll? Und bei "professioneller" analyse fällt wahrscheinlichh irgend ein Muster auf, welches uahc schnell zur Lösung bringt (zumindest den ganzen c't Berichten über Kryptographie zu folge)
Jedenfalls hab ich schon fast 100% sicheres Verfahren entwickelt - nicht mal das Programm selbst mit dem richtigen Pass konnte es wieder zurückentschlüsseln großes Grinsen )



Geschrieben von phlox81 am 15.09.2003 um 21:09:

 

Das ist nix anderes als ne aufgebohrte Cäsar Chiffrierung.
Sie hat den netten Nebeneffekt das die daten gleich Xmal grösser werden.
Im übrigen sollte man C und C++ nicht mischen.
Du benutzt cout zur ausgabe, aber warum nicht ofstream, ifstream oder
fstream für die Dateiarbeit ?

Devil



Geschrieben von scr!pTk!d am 15.09.2003 um 21:28:

 

Du könntest eine aufgeblähte Vignere-Verschlüsselung einsetzen. Dadurch wird das ganze ein wenig sicherer (aber nicht sicher!).
Prinzip:
texttexttexttexttext
+ passwortpasswort
um Wiederholungen aus dem Klartext im Ciphertext zu vermeiden kannst du das Passwort nach jeder Verwendung permutieren. Am besten verwendest du hierzu Einwegfunktionen wie a^b mod c und lässt den nächsten Passwortchar aus den Vorhergehenden berechnen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
//Funktion x hoch y
long yupx(long x, long y)
{
long rtvalue = x;
for(int i = 1;i<=y;i++)
{
rtvalue = rtvalue * x;
}
return rtvalue;
}

char nextpwdchr(char prevpwdchr,char pwdchr)
{
return(yupx(prevpwdchr, pwdchr) % 128);
}


Dieser Code enthält wahrscheinlich noch einige Fehler aber das Prinzip ist wie ich glaube nicht schlecht. Hat jemand von euch Ahnung wie man das außer durch BruteForce knacken könnte?


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH