Stworzyłem nieznany algorytm symetryczny - co dalej?

matemix
Użytkownik
Użytkownik
Posty: 465
Rejestracja: 10 cze 2008, o 19:38
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 12 razy
Pomógł: 1 raz

Stworzyłem nieznany algorytm symetryczny - co dalej?

Post autor: matemix »

Cześć. Stworzyłem pewien kryptograficzny algorytm symetryczny. Nie opiera się on na żadnej znanej dotychczas technice kryptograficznej. Nie są to krzywe eliptyczne, duże liczby pierwsze, logarytmy dyskretne, ani szyfr blokowy. Opiera się on na funkcjach rekurencyjnych, które mają to do siebie, że generują pewien chaos deterministyczny. W szczególności może się on opierać na ciągu Collatza. Klucz dobieramy losowo i może być on dowolnie duży, nie musi być żadną szczególną liczbą (im większy, tym większe bezpieczeństwo). Wiadomość szyfrujemy dodając do niej losowy szum generowany za pomocą pewnej szczególnej funkcji (prawdziwie losowy, tym razem nie musi być wyznaczany pseudolosowo).

Nie potrafię oszacować szybkości działania algorytmu, zaś poziom bezpieczeństwa zależy od wielkości klucza. Ogólnie wydaje mi się, że można oszacować jego bezpieczeństwo, przy \(\displaystyle{ k}\)-bitowym kluczu, na minimum \(\displaystyle{ k^2}\). Poziom bezpieczeństwa jest znacznie wyższy niż długość klucza. Jest to możliwe dlatego, bo sam klucz nie wystarczy, by odkodować wiadomość bezpośrednio. Musi być on użyty wiele razy, jest on elementem funkcji rekurencyjnej, którą trzeba obliczyć wiele razy, by "dogrzebać" się do wiadomości.

Ale nie o tym chciałem tu porozmawiać. Nie chcę ujawniać tego algorytmu (tzn. nie ot tak na forum, gdzieś w internecie). Mój problem polega na tym, że mam kilka wątpliwości, planów, ale także obaw z tym algorytmem związanych. Opis ma służyć tylko temu, abyście wiedzieli mniej więcej z czym mamy do czynienia. Potencjalnie - zupełnie nowa klasa algorytmów, a może nawet zaczątek dla nowego działu kryptografii. Zaleta w postaci bardzo krótkich kluczy w stosunku do poziomu bezpieczeństwa, praktycznie niespotykanego w przypadku jakichkolwiek innych współczesnych algorytmów. W przypadku, gdy użyjemy jednorazowego klucza, wydaje mi się, że szyfr może być nie do złamania, podobnie jak szyfr Vernama.

I teraz do rzeczy. Jestem zwykłym człowiekiem, nie jest pracownikiem naukowym, nie pracuję jako badacz w żadnej firmie. Pierwszą moją myślą było - opublikować algorytm, w formie publikacji naukowej. Na pewno jednak potrzebowałbym kogoś do konsultacji merytorycznej, zredagowania treści, wstępnej recenzji naukowej, gdyż jestem pewien, że mam spore braki formalne i, jeśli napiszę tę publikację ot tak na własną rękę, to nie przejdzie recenzji. Druga myśl - sprzedać lub oddać to z jakąś korzyścią jakiejś dużej korporacji typu IBM, Apple, Google, które od zawsze były zainteresowane tego rodzaju technologiami, a jeśli nie firmie, to może Ministerstwu Obrony Narodowej, albo Narodowemu Centrum Bezpieczeństwa Cyberprzestrzeni (dawniej Narodowe Centrum Kryptologii). Oni jednak, jeżeli jakaś zapłata lub zlecenie wchodzi w grę, raczej nie zapłacą mi tak hojnie. Myślałem też o opatentowaniu algorytmu, ale tutaj szybko zrozumiałem, że nie dam rady, bowiem w Polsce nie można patentować algorytmów. Jest to możliwe w USA (na przykład algorytm RSA został opatentowany), ale średnio kosztuje to 60000$, to za duże pieniądze dla mnie na tę chwilę, nie do przeskoczenia, tym bardziej, że nie mam pewności co do zastosowań algorytmu. Mogę się mylić, algorytm może być tylko ciekawostką, bo może być niepraktyczny i niewydajny lub szybko zostanie znaleziona w nim dziura.

Pozostaje zatem:

1. Publikacja - non profit, co więcej szacuję, że będę musiał dołożyć do niej jeszcze pewnie kilka tys. zł, aby zapłacić za czas kogoś kto dokona dla mnie recenzji naukowej, poprawi słownictwo, formalizm, etc. Przeczytałem w życiu trochę publikacji matematycznych (większość najważniejszych w temacie funkcji, na których opiera się algorytm), wiem mniej więcej jak powinna wyglądać publikacja, ale nie wierzę, że dam radę samodzielnie.

2. Próba zainteresowania tym jakiejś dużej firmy, zgoda na to, aby może oni opatentowali to pod swoją marką, w zamian za wyłączność i nieujawnianie algorytmu publicznie. Nie wiem, czy to w ogóle dobra pozycja negocjacyjna?

Tylko, że w przypadku próby sprzedaży tego zagranicznej firmie jest problem, bowiem w 1996 roku trzydzieści dziewięć krajów, w tym Polska, podpisało porozumienie Wassenaar (ang. The Wassenaar Arrangement on Export Controls for Conventional Arms and Dual-Use Goods and Technologies) – traktat o eksporcie uzbrojenia i technologii podwójnego zastosowania (czyli technologii mogących mieć zastosowanie cywilne i wojskowe), w tym kryptografii. Uzgodniono, że technologie szyfrowania oparte na krótkich kluczach (56-bitowych dla szyfrów symetrycznych i 512-bitowych dla RSA) nie podlegają ograniczeniom eksportowym. Mój algorytm może mieć jednak dowolnie długi klucz. Czy w takim razie podlega ograniczeniom eksportowym? Czy w ogóle mogę go opublikować?

Dodatkowo potrzebowałbym w ogóle skonsultować to z kimś kto zna się na kryptologii i co ważne na dosyć niszowych zagadnieniach związanych z hipotezą Collatza i tego rodzaju ciągami. A przede wszystkim z kimś kto jest po prostu matematykiem i będzie w stanie się odnieść merytorycznie do tematu. Jednoczenie chciałbym, żeby algorytm pozostał tajemnicą, jeżeli okaże się być obiecujący.

Czy ktoś może mi doradzić co powinienem i co mogę zrobić w takiej sytuacji? Co jest legalne, a co nie, czy jest ktoś kto może mi pomóc w tym wypadku, udzielić porady? Co robi typowy naukowiec, gdy stworzy jakiś obiecujący algorytm?
Ostatnio zmieniony 4 wrz 2019, o 01:57 przez Jan Kraszewski, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
matemix
Użytkownik
Użytkownik
Posty: 465
Rejestracja: 10 cze 2008, o 19:38
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 12 razy
Pomógł: 1 raz

Re: Stworzyłem nieznany algorytm symetryczny - co dalej?

Post autor: matemix »

Pomyliłem się co do poziomu bezpieczeństwa, bo są tam dwa klucze. Więc przy kluczu \(\displaystyle{ a}\)-bitowym i \(\displaystyle{ b}\)-bitowym bezpieczeństwo wynosi od \(\displaystyle{ a+b}\). Zatem, jeśli nasze klucze mają w sumie \(\displaystyle{ k}\)-bitów, to bezpieczeństwo może wynosić od \(\displaystyle{ k}\) do \(\displaystyle{ 2k}\), czyli normalne poziomy algorytmów symetrycznych (przy czym w pewnych warunkach może to być nawet jeszcze więcej). To tak gwoli sprostowania, żeby nie było, że opowiadam bajki na temat tych poziomów bezpieczeństwa - aż tak dobrze nie jest, ale dzięki stosowaniu dwóch kluczy, które w tym samym stopniu biorą udział w szyfrowaniu ten poziom i tak jest wyższy niż w typowych algorytmach symetrycznych.
ODPOWIEDZ