Szyfrowanie problem Przed i po OK, ale znaki != kopiuj

0

Ok stworzylem swoj wlasny uniwersalny algorytm kodowania ;p w sumie nadal go rozwijam, ale napotkalem na spory problem

Oto tekst przed kodowaniem:

przed kodowanie5: !@#$% CzY uMiE8z faktiko kodowac? los, samo ktos ?!as;d]e[

Oto tekst po kodowaniu:

po kodowaniu   5: ▄┐┌█┌▀║ůĄßł▓ö║ăůŢÖťľëľĺÉ▀öÄŤÄŐťťż▀źźĐĐęşĐľĺÉ▀¬¬║źßą╬đ╬▀ž╠Ď╠ßą╬
đ╬▀┼ą╬đđˇ▀╠╩¤Đ╦╩╔ËăĐ╦¤╔▀şş┤ź░ČÂ▀▄ŚÄŁŤśëÉĆ▀┼łťîŐ

Oto tekst rozkodowany:

przed kodowanie5: !@#$% CzY uMiE8z faktiko kodowac? los, samo ktos ?!as;d]e[

Wszystko dziala piknie, problem napotykam dopiero gdy chce ta zakodowana czesc skopiowac do tablicy, ale nie w czasie dzialania programu, bo wtedy sie przekopiowuje bez problemu i strcmp pokazuje identyko, tylko recznie.

Chce miec w zrodle:

char haslo[1000] = "▄┐┌█┌▀║ůĄßł▓ö║ăůŢÖťľëľĺÉ▀öÄŤÄŐťťż▀źźĐĐęşĐľĺÉ▀¬¬║źßą╬đ╬▀ž╠Ď╠ßą╬
đ╬▀┼ą╬đđˇ▀╠╩¤Đ╦╩╔ËăĐ╦¤╔▀şş┤ź░ČÂ▀▄ŚÄŁŤśëÉĆ▀┼łťîŐ";

Niestety, gdy przekopiowuje te znaki zakodowane z konsoli programu do zmiennej sa one juz zupelnie inne i przez to potem rozkodowywanie niedziala.
Przyklado te znaki ▄┐┌█┌▀║ po skopiowaniu do zmiennej char wygladaja tak ---█---, mniej wiecej po prostu jakby ich brakowalo. Program ich nieobsluguje (Dev-Cpp).

Sprobowalem wyslac je do pliku .txt, juz bylo lepiej wiecej znakow bylo prawidlowych ale nadal sie roznily. Jak uzyskac po takim hardcorowym kodowaniu mozliwosc posiadania identycznych znakow w tablicy w Dev-Cpp np.

PS
Jak moge sprawdzic jak mocny jest szyfr? Jesli podam zakodowany ciag gdzies moge liczyc na probe jego zlamania? Sa ludzie ktorzy moga to stestowac albo zlamac domowymi sposobami?

0

Trzymanie w źródle danych w postaci: char haslo[1000] = "▄┐┌█┌▀║ůĄßł▓ö║ăůŢÖťľëľĺÉ▀öÄŤÄŐťťż▀źźĐĐęşĐľĺÉ▀║źßą╬đ╬▀ž╠Ď╠ßą╬
đ╬▀┼ą╬đđˇ▀╠╩¤Đ╦╩╔ËăĐ╦¤╔▀şş┤ź░ČÂ▀▄ŚÄŁŤśëÉĆ▀┼łťîŐ";
to kiepski sposób.
Jak to publikować? Czy Anglik, Polak, Rosjanin albo Chińczyk zobaczą to samo?

A jaka jest metoda szyfrowania?
Zauważ, że wszystkie istotne i używane metody są jawne.
Jeżeli sposób jest tajemny, to ja mam go w nosie, bo nic nie mogę o nim powiedzieć.
A skąd ja wiem czy nie jest to jakaś elementarna metoda, którą bomby w NSA rozwalają w 3 minuty?
Chciałbyś żeby ktoś próbował to łamać, a ile warte są dane chronione tym sposobem?
Sprawdzić można publikując sposób i czekać na odzew matematyków. Chyba że sam potrafisz wykazać siłę metody.
Jeżeli sposób jest dobry (i opatentowany) czeka cię życie w sławie i bogactwie :)

0

Hehe ok a wiec od poczatku:

jak to publikować? Czy Anglik, Polak, Rosjanin albo Chińczyk zobaczą to samo?

O uzytkownikow sie niemusze martwic im wszystko jedno ,wazne ze smiga i ciezej odszyfrowac pomimo braku packera exe.

Druga sprawa to to sa elementarne metody :P , pare xorow, pare wlasnych prostych funkcji mieszajacych znaki chyba jeszcze jakis not sie zawieruszyl :P takze nic specjalnego ale ma sprawic problem "sredniakom" ;P tylko z powodu ze jest unikalny, a nie trudny.

Niewiem czy wlasnie powyzej dobrze rozumuje.

0

przechowuj tekst w formie base64 albo zapisuj w tablicy konkretne wartości znaków /nie litery/. Problemy są z powodu różnego kodowania znaków oraz wykraczania wartości za zakres znaków w danym kodowaniu /może nie być znaku o takim kodzie/. Zakodowany tekst odczytuj binarnie.

PS
Jak moge sprawdzic jak mocny jest szyfr? Jesli podam zakodowany ciag gdzies moge liczyc na probe jego zlamania? Sa ludzie ktorzy moga to stestowac albo zlamac domowymi sposobami?
Domowymi? Kryptoanaliza to nie metoda domowa. Rzuć kilka przykładów normalnych tekstów przed i po zakodowaniu... daaawno się nie bawiłem w czarne skrzynki :> W praktyce to publikuje się kod algorytmu szyfrującego i daje znać w odpowiednich miejscach. Jak dobrze zniesie analizę to się do czegoś nadaje.

0

No to cenna rada, przerzuce sie na kod 16-stkowy, mysle ze tak bedzie latwiej, jeszcze nieznam funkcji ktore to obsluza, ale poczytam o tym.

Dolaczam moj post z przed 5 minut na ten sam temat na innym forum :).

A wiec najwazniejsza sprawa to ograniczenia z jakimi musze sie borykac przy tworzeniu szyfru. Cale kodowanie/dekodowanie musi sie odbywac automatycznie podczas dzialania programu. O ile wiem z RSA to sie mija z celem jezeli bym umiescil swoje klucz prywatny w kodzie chyba ze go tez byl zakodowal po swojemu a potem przy dekodowaniu RSA bym w locie zaraz przed dekodowal klucz prywatny :P.

Z samym problemem opisanym powyzej sobie poradzilem. Niepamietam z czego on wynikal, ale to byla moja wina ze takie znaki wyskakiwaly, teraz specjalnie zaszyfrowany tekst :):

UůńĹü�éđßđ©�’ϟƤ¸·ŇŰîř¸–ńęÎĎţ±¶ç¸ß°ä

Da sie go odkodowac na 100%, jaki to szyfr wlasciwie? Zeby nieisc w ciemno : p. Kodowanie odbywa sie znak po znaku... laczy w sobie 6 funkcji mojego autorstwa z paroma zwyklymi funkcjami logicznymi.

W planach mam dodanie kolejnych minimum czterech. Obawiam sie tylko jednego ze jezeli jedna funkcja np. przesuwa znaki o 5 a druga cofa na zmiane w przod w tyl po 1 znaku, to wystarczy obliczyc laczna sume przesuniec z wszystkich funkcji naraz i odkodowanie bedzie predkie :/ musze temu przeciwdzialac.

Sam kod wolalbym na razie zostawic w 'tajemnicy' z uwagi ze jesli go udostepnie niebede wiedzial czy jest mocny czy nie, a jesli sie dowiem to juz niebedzie mocny :P.

Co do matematykow ;) spodziewam sie trafic na calkiem niezlych niestety, wiec na koniec chyba ten moj szyfr potraktuje dodatkowo z DES'a albo czegos latwego w implementacji... A jesli nie matematykow do osoby ktore posiadaja odpowiedni sprzet do bruta :P.

Wydaje mi sie ze sa dwie opcje... albo ciezko to odkodowac, albo smiesznie latwo... innych opcji raczej NIE MA.

Musze jeszcze poczytac jak zmusic do operacji na kodzie 16 i jak na nim operowac.

PS
Z uwagi na to, ze moj szyfr jest "modularny" mam kocepcje zeby ulozyc pare funkcji szyfrujacych skladajacych sie z roznych modulow ktorych napisalem 6 dotychczas. Obszernosc kodu sie troche zwiekszy ale moze przyspozyc dodatkowej godziny zmarnowanego czasu osobie to lamiacej :P. ( koduj1() bedzie sie skladalo z 4 modulow a koduj2() z 7 np ;))

PS2
Czytalem juz chyba o wszystkich algorytmach szyfrujacych ale niepamietam szczegolow wiec tak przy okazji, jaki moglby byc najprostszy w implementacji szyfr opierajacy sie na kluczach (256 / 512 bitow) ktory dziala w obie strony, niemusi miec jednej funkcji do kodowania i dekodowania, ale zebym mogl wszystko zautomatyzowac w programie. Mi sie kojarzy cos jak RS4 ale moge sie mylic.

Ok jest 13:41 tak sie wciagnolem w ten projekt ze jeszcze niespalem :P niedlugo trzeba bedzie pozdro!

0

patrz moj post na http://4programmers.net/Forum/viewtopic.php?id=107626
moze by to tak wszystko w jednym watku jednak..?

1 użytkowników online, w tym zalogowanych: 0, gości: 1