Algorytmy Szyfrowania Tekstu

0

Witam, jak sprawdzić na ile dany algorytm szyfrowania tekstu jest bezpieczny?

0

A co to znaczy, że algorytm szyfrowania jest "bezpieczny" i względem czego chciałbyś je podzielić?

0

Napisałem algorytm szyfrowania:

string szyfruj_hasło(size_t długość, string hasło)
{
	long long int plus=0;
	while(długość > hasło.size())
	{
		hasło+=hasło;
	}
	hasło+=hasło;
	for(size_t i=0;i<hasło.size();i++)
	{
		plus+=hasło[i];
	}
	for(size_t i=0;i<hasło.size();i++)
	{
		if(i!=hasło.size()-1 && !hasło[i]+hasło[i]>0)
		{
			hasło[i]+=hasło[i+1];
		}
		else if(i!=hasło.size()-1 && !hasło[i]-hasło[i]>0)
		{
			hasło[i]-=hasło[i+1];
		}
		else
		{
			hasło[i]=+i;
		}
	}
	for(size_t i=0;i<hasło.size();i+=2)
	{
		char znak=hasło[i];
		hasło[i]=hasło[i+1];
		hasło[i+1]=znak;
	}
	for(size_t i=0;i<hasło.size();i++)
	{
		hasło[i]+=plus;
	}
	return hasło;
}
string szyfruj(string tekst, string hasło)
{
	if(tekst.size()%2==1)
	{
		tekst+=" ";
	}
	for(size_t i=0;i<tekst.size();i++)
	{
		tekst[i]=tekst[i]+hasło[i];
	}
	for(size_t i=0;i<tekst.size();i+=2)
	{
		char znak=tekst[i];
		tekst[i]=tekst[i+1];
		tekst[i+1]=znak;
	}
	return tekst;
} 

I jestem cieka jak trudno jest go złamać, o ile jest to w ogóle możliwe(mam nadzieję).

0

Jeżeli istnieje sposób na jego deszyfrację, możliwe jest też jego złamanie.
Jeżeli nie istnieje sposób na jego deszyfrację, nie jest to kodowanie, a hashowanie, co już jest operacją jednostronną.

0

Ale co w wypadku podania klucza: programowanie_c++

0

Przy wiadomości: Tajna wiadomość
I zaszyfrowanej postaci: i[jiUkbVjc†WÔb
Na ile trudne jest deszyfrowanie tego nie znając klucza.

0

Tak wiem, polskie znaki, ale ja mam visuala i mi działa :)

0

Na ile trudne jest deszyfrowanie tego nie znając klucza.

Dunnoh.
Należałoby najprawdopodobniej wykonywać brute-force, więc trochę by to zajęło (ale sam algorytm wygląda na banalny, więc zgaduję, że mój telefon złamałby to najwyżej w godzinę).
Ale w gruncie rzeczy, praktycznie każdy algorytm szyfrowania wymaga wykonania brute-force, jeżeli nie znamy hasła, nic innowacyjnego nie stworzyłeś :P

0

ty sam nie masz pojęcia co napisałeś. Kod roi się od głupich błędów.
A twój szyfr jest banalnie prosty do złamania.
szyfruj_hasło nie nic ci nie daje, takie zwielokrotnianie hasła do niczego nie prowadzi. Nie trzeba nawet tego łamać by złamać szyfruj, który jest tak naprawdę szyfrem Vigenère'a znanym prawie od 500 lat (dodatkowo zmieniasz tylko kolejność liter parzystych i nieparzystych).

0

Wiem, że nie jest to jakiś najlepszy algorytm szyfrowania, ale ja się dopiero uczę (jestem w gimnazjum) więc to jest mój pierwszy algorytm szyfrowania. Chciałbym się dowiedzieć co poprawić aby ten algorytm był nie do złamania, o ile się tak da.

0

co poprawić aby ten algorytm był nie do złamania, o ile się tak da.

Nie da się.
Szyfrowanie jest dwustronne - cokolwiek zaszyfrujesz, może być odszyfrowane.
Hashowanie jest natomiast jednostronne - ale algorytmy hashowania opracowywane są czasami nawet i latami przez matematyków, nie liczyłbym więc że wymyślisz jakiś skuteczny...

0
adam_vip napisał(a):

Wiem, że nie jest to jakiś najlepszy algorytm szyfrowania, ale ja się dopiero uczę (jestem w gimnazjum) więc to jest mój pierwszy algorytm szyfrowania. Chciałbym się dowiedzieć co poprawić aby ten algorytm był nie do złamania, o ile się tak da.

Ty sobie chyba jaja robisz. Wiesz jaka zaawansowana matematyka siedzi za współczesnymi prostymi szyframi? To jest nie do przełknięcia dla licealisty, a co dopiero dla gimnazjalisty.
Nie to, że cię zniechęcam(y). Chcę cię jedynie uświadomić, że w twoja ambicja stworzenia szyfru nie do złamania jest obecnie marzeniem ściętej głowy.

Jeśli jesteś dostatecznie rozgarnięty, to sam będziesz w stanie złamać ten swój szyfr, bo do tego nie trzeba jakiejś specjalnej wiedzy.
Poćwicz trochę, próbuj sam łamać własne wynalazki, a potem gdy zdobędziesz trochę wiedzy, weź się za coś ambitniejszego. Kto wie, może za parę lat będziesz pierwszym hackerm RP :).

0

Żeby ci pokazać skalę problemu współczesnych szyfrów: jednym z kryteriów uznania szyfru za doby jest wymóg, by zmiana JEDNEGO BITU w wiadomości szyfrowanej, powodowała zmianę średnio połowy bitów szyfrogramu.
Nie muszę chyba tłumaczyć, że twój szyfr nie spełnia tego wymogu w najmniejszym stopniu.

0

Napiszcie mi jaki jest najlepszy (najtrudniejszy do złamania) algorytm szyfrowania za pomocą klucza symetrycznego

0

Szyfr z kluczem jednorazowym ang. one-time pad - najtrudniejszy do złamania i najprostszy, ale żeby był bezpieczny trzeba spełnić wiele warunków, które prawie całkowicie eliminują go z zastosowań na co dzień.

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