logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Kilka propozycji szyfrowania danych w pamięci FLASH

autoservice 29 Sty 2010 23:06 9880 100
  • #1 7613707
    autoservice
    Poziom 20  
    Witam
    Sytuacja, miejsce: system mikroprocesorowy, mikrokontroler AVR Atmega + zewnętrzna pamięć FLASH z dużą ilością danych. Komunikacja między nimi poprzez interfejs SPI więc bardzo łatwa do "podsłuchania". W pamięci FLASH znajdują się dane, których wprowadzenie kosztowało kilka miesięcy pracy (do postaci pliku BIN/HEX). Chcę zaszyfrować i zabezpieczyć dane przed użyciem przez nieupoważnione osoby ;)
    Bez żadnego szyfrowania bez problemu można odczytać komórkę oraz odczytywaną daną poprzez nasłuch interfejsu SPI. Samego interfejsu SPI nie da się zaszyfrować i zawsze można nasłuchać adres komórki i odczytaną z niej daną. Jedyne co można zrobić to zaszyfrować dane a sam algorytm deszyfrowania i odczytu umieścić w pamięci AVR'ka którą można zablokować przed odczytem (przynajmniej dla zwykłego śmiertelnika, ale to wystarcza ;)
    Mam takie propozycje zaszyfrowania danych.
    1.Szyfrowanie pojedynczych bajtów.Czyli każdy bajt z osobna szyfrowany jest tym samym algorytmem. Danemu takiemu samemu bajtowi odpowiada taka sama zaszyfrowana dana , czyli wszędzie gdzie będzie literka "a" to wszędzie będzie zaszyfrowana jako np. "0x33". To rozwiązanie jest słabe bo...dane we FLASH'u to zwykły tekst a ten tekst wyświetlany jest na wyświetlaczu LCD 2x16 znaków, więc wystarczy odczytać te 16 kolejnych zaszyfrowanych znaków na magistrali SPI i przyrównać je do tego co widać kolejno na LCD. I algorytm złamany. Zwykłe przypisanie jawnej danej z LCD do zaszyfrowanej, bajt do bajtu, kolejno jak leci.
    2.Szyfrowanie grupą 16 bajtów czyli 1 wierszem na LCD. I tutaj jest kilka możliwości, możemy dane pozamieniać losowo w tej tabeli 16 bajtów wg klucza w procesorze, którego nie da się odczytać. Sam klucz można też uzależnić dodatkowo od tego, który to jest wiersz w z kolei, można zrobić kilka kluczy "mieszających" miejsca. Można także brać ostatni bajt adresu komórki w pamięci flash i wykonać jakąś funkcję logiczną na komórce, czyli w obrębie 255 komórek literka "a" będzie zakodowana w różny sposób bez względu na to ile razy wystąpi.
    3.Aby utrudnić "podsłuch" magistrali SPI można wpleść losowo odczyt "dummy bytes" czyli bajtów nic nie znaczących, fizycznie mogą być odczytane i mieć wartość ale dla zostaną odrzucone, a jakie zostaną odrzucone to wie tylko algorytm w procesorze, który jest nie do odczytu. Wadą jest dłuższy czas odczytu ale w tym przypadku to nie ma znaczenia bo odczytanie i odszyfrowanie 32 bajtów dla LCD to i tak błyskawica.
    4.Ostatni sposób to porozrzucać dane w obrębie 255 bajtów, tzn linijka tekstu "Ala ma kota" nie byłaby zapisana w kolejnych komórkach pamięci flash ale każda z literek porozrzucana w obrębie bloku 255 bajtów, np A w komórce X, l w komórce X+33, a w komórce X+41 itd, wszystko lososwo, ale zgodnie z algorytmem w procesorze.Czyli blok 255 bajtów zamieszany w betoniarce ;)

    Jak myślicie jeśli połączyć 3 i 4 sposób i wpleść w odczyt "dummy byte" co 2 bajt to jest to do złamania przez konkurencję? Dodatkowo można połączyć jeszcze z 1 i 2 sposobem. Odnalezienie algorytmu na odkodowanie tego wydaje się niemożliwe, tzn. ilość kombinacji do sprawdzenia jest ogromna! Po pierwsze hacker (program) musiałby wpaść na to, że bajty zostały pomieszane, w obrębie jakiego bloku bajtów zostały pomieszane i w końcu jak zostały pomieszane, wg jakiej matrycy mieszającej...już samo wpadnięcie na to, że takie coś zostało zrobione nie mówiąc o odgadnięciu bloku bajtów wydaje się być nierealne...

    Wpadło mi jeszcze do głowy co do magistrali SPI, wplecenie do 2 bajt dummy bytes jest za proste bo na to można wpaść przypadkiem ;) Lepszym sposobem byłoby odczytanie 128 bajtów z czego tylko 16 jest prawdziwych a które z nich na jakich pozycjach to wie tylko algorytm deszyfrujący zamknięty w procesorze ;) Nasłuch magistrali SPI owszem da odczyt 128 bajtów w obrębie 255 bajtów, znamy adres i dane ale nie wiemy, które z nich wyświetlane są na ekranie :)

    Jak myślicie dobre zabezpieczenie?
    Dzięki Pozdrawiam. :)

    Przeniesiono z Programowanie Ogólne. - arnoldziq
  • #2 7613801
    mirekk36
    Poziom 42  
    Jaki kolwiek sposób nie użyjesz a tym bardziej własny zamiast jakichś znanych algorytmów szyfrowania - będzie zawsze dobry.

    Wystarczyłoby już zwykłe xor'owanie jakimś losowym ciągiem bajtów (takim twoim kluczem) - bo to najszybsze do implementacji programowej - i już ktoś kto podsłucha takie latające po SPI "pierdoły" da sobie spokój z próbami deszyfrowania - bo nawet jakby chciał - to nie wiedziałby od czego zacząć ;) ..... no chyba że podpowiedziałbyś mu że zrobiłeś xor'owanie i musi tylko odgadnąć długość klucza oraz jakie w nim są bajty .... ale nawet przy takiej podpowiedzi lepiej i taniej wyszłoby twojej konkurencji samemu zebrać czy stworzyć te dane niż je próbować choćby odszyfrowywać ;) ......
  • #3 7613815
    leon1313
    Poziom 15  
    Jeżeli liczba danych jest skończona, a twój opis na to wskazuje, proponuje zwykły XOR z taką samą ilością losowych danych zapisanych w nadajniku i odbiorniku.
    Zaleta: nie do złamania. Szybkość. Prostota implementacji
    Wada: konieczność użycia dodatkowej pamięci po obu stronach.
  • #4 7614868
    tmf
    VIP Zasłużony dla elektroda
    Uzyj AES, algortym i programy na AVR masz w notach aplikacyjnych Atmela, uzywaja tego wlasnie w bootloaderze do szyfrowania HEXow. Zadnych wlasnych wynalazkow nie stosuj. Mirek, sorry, ale nie masz pojecia o czym piszesz. Wlasny algorytm polegnie w ciagu kilku minut, jesli trafisz na kogos komu na tych danych zalezy i bedzie mial odrobine elementrarnej wiedzy. Kiedy mialem 15 lat tez mi sie wydawalo, ze XOR i troche hocus-pocus zalatwia sprawe. Jakiez bylo moje dziwienie kiedy nastepnego dnia moj 2 lata starszy znajomy przyniosl mi zdeszyfrowany plik.

    Dodano po 2 [minuty]:

    leon1313 napisał:
    Jeżeli liczba danych jest skończona, a twój opis na to wskazuje, proponuje zwykły XOR z taką samą ilością losowych danych zapisanych w nadajniku i odbiorniku.
    Zaleta: nie do złamania. Szybkość. Prostota implementacji
    Wada: konieczność użycia dodatkowej pamięci po obu stronach.


    Leon, jesli stosuje zewnetrzna pamiec to jak wnioskuje dlatego, ze nie mam wewnetrznej - bezpieczniejszej. Wiec gdzie ma przechowywac ten klucz o dlugosci takiej jak szyfrowany ciag? W kolejnym zewnetrznym EPROMie?
  • #5 7614952
    Balu
    Poziom 38  
    Ale wyciągacie armaty...AES:)
    Wystarczy NIE PISZĄC NA FORUM o wyborze, zrobić kilka prosty operacji na byteach, m.in. XOR, NOT, swap. Wszystkie są odwracalne o ile się wie co się chce dostać, nie wiedząc co ktoś zrobił, krzyżyk na drogę dla niego. Użycie samego szyfrowania przez podstawienie jest lekkim szyfrem, ale nie wiedząc co się chce dostać ... ;)
    AES to raczej zdecydowany przerost formy nad treścią. No chyba, że tam są faktycznie drogie dane (w takim razie czemu one są w flashu zwyklym).
    Jak nie, można zawsze jakiś FPGA użyć jako pamięci + szyfratora. i w tedy lecą już gotowe szyfrowane dane których się teoretycznie nie da odczytać:).

    Anyway, ja bym użył XORa;)
  • #6 7615053
    tmf
    VIP Zasłużony dla elektroda
    Balu, a ten przerost formy nad trescia to co ci szkodzi? Implementacja AES jest banalna, szczegolnie, ze wystarczy zrobic copy/pase z gotowca. Jesli sie cos robi to nalezy to robic dobrze, albo wcale. Szyfrowanie XORem przedastawia trudnosc deszyfracji porownywalna z podsluchaniem SPI, wiec nie jest zadnym rozwiazanie.
  • #8 7615180
    mirekk36
    Poziom 42  
    tmf - sorry - ale jesteś młody i jeszcze życia nie znasz. Tak tak - najlepiej to w ogóle użyć kodowania PGP a to jeszcze zakodować kilkoma innymi algorytmami tak, żeby tego nawet w samym PENTAGONIE nie rozszyfrowali.

    Co ja poradzę na twoje problemy z lat dziecięcych? na to, że twój znajomy łamał twoje "szyfry" ;) .... ale też nie mam zamiaru tu udowiadniać wyższości jednych metod nad drugimi.

    Poza tym nikt tu nie mówi o XORowaniu jakie ty robiłeś w dzieciństwie - bo XORowanie za pomocą jakiegoś jednego bajtu całości to rzeczywiście coś dla 15to latków

    ale kilka zwykłych własnych byle jakich modyfikacji (a rozumiem, że nie masz do tego chęci czy też z powodu traumy z dzieciństwa boisz się już tego robić) wystarczy , żeby odstręczyć takich chętnych na "cudze gruszki"

    Więc opowieści o cudownych łamaczach enigmy pozostaw w swoich wspomnieniach. Bo jak widzę - to z tego strachu - tylko użycie gotowców przychodzi ci do głowy
  • #9 7615238
    Tomkiewicz
    Poziom 13  
    @mirekk36, Balu: zastanówcie się następnym razem, jak dajecie podobne rady na temat bezpieczeństwa informacji. Mogą skutkować niemałymi szkodami... "(...) własny zamiast jakichś znanych algorytmów szyfrowania - będzie zawsze dobry (...)" - "nie zgodzę się", to dużo za mało powiedziane.

    Skoro wprowadzenie danych zajęło kilka miesięcy, sugeruje, że mogą być warte kilkanaście - kilkadziesiąt tysięcy złotych. Za taką kwotę wiele osób porwało by się na takiego xora, a w razie niepowodzenia podzieliło by się zyskiem z profesjonalnym kryptologiem. Przeczytajcie zresztą, co pisze tmf o proponowanych przez Was "xor i trochę hokus-pokus".

    Proponowany przez tmf AES to właśnie odpowiednie rozwiązanie przedstawionego problemu. Po chwili szukania znalazłem trochę parametrów - implementacje AES dla AVR to koszt zaledwie 1.5kB - 3kB flasha w procu, a wydajność rzędu 70 - 100kB/s dla 16MHz zegara jest w zupełności wystarczająca do transferu danych potrzebnych do wyświetlania. Chwila googlania i mamy dwie implementacje na otwartej licencji:
    http://point-at-infinity.org/avraes/ (stąd brałem powyższe parametry)
    http://avrcryptolib.das-labor.org/trac/browser/aes (implementacja w C)

    A jeżeli ktoś nadal jest za ideologią "armaty na muchę", może czas wrócić do przeglądania elektrody w windowsie 3.11 z zainstalowanym lynxem? Po co korzystać z graficznych przeglądarek, które zjadają te kilkaset MB pamięci więcej... A argument o Pentagonie jest całkowicie nietrafiony, bo skoro możemy za darmo skorzystać z takiej technologii, to dajcie sensowny argument przeciw (poza tym, że jest zbyt skuteczny).

    edit:

    "XORowanie za pomocą jednego bajtu" to zwykłe kodowanie przez podstawianie.

    "Szyfrowanie XORem przedstawia trudność (...) dopóki wiesz, że to szyfrowanie XORem:)" - ale xor to jedna z pierwszych rzeczy, jakie się sprawdza

    Sugerował bym też podniesienie poziomu tej dyskusji, bo widzę, że się wycieczki osobiste zaczynają...
  • #10 7615303
    Balu
    Poziom 38  
    Widzę, że się nie dogadamy. Z mojej strony EOT.
    Jak ktoś będzie chciał i będzie to warte dziesiąt / set tysięcy to i tak złamie.
    Nie podsłuchując w ogóle transmisji. Są lepsze metody w tych przedziałach cenowych.
    Reverse engineering jest generalnie drogą zabawą.
    I najlepsze zabezpieczenie to takie o którym nikt nie wie.
    Z mojej strony dla typowego człowieka próbującego zrobić revers'a XOR jest wystarczająca przeszkodą zważywszy że nie wie co powinien dostać, ani jaki jest algorytm. Takie moje zdanie. Ja nie bronię użyć AESa, nawet jak ktoś chce może użyć 256 bitowego czy nawet sobie zaimplementować PGP z kluczami.
    Pomijam fakt, że używając tamtych koderów które są GPL z tego co pamiętam MUSI swoje cudo udostępnić na tejże licencji (licencja nie niższa niż obecna).
    Więc można sobie wtedy wsadzić w oko to coś;)

    Dodano po 1 [minuty]:

    Napisaliśmy, że xorowanie jednym bajtem to zabawka. Wiem, ze to podstawienie.
    Jeśli jest to zwykły xor na bycie, OK, sprawdza się szybko, gorzej gdy masz jakieś konkretniejsze xorowanie z jakąś tablicą lub cokolwiek w ten deseń.
  • #11 7615312
    mirekk36
    Poziom 42  
    Tomkiewicz --> a kto tu powiedział, że jest przeciwnikiem AES i innych tego typu sposobów kodowania??? sam to sobie wmawiasz ;)

    problem leży gdzie indziej - w twoim a w zasadzie w waszym podejściu do całego tematu ochrony danych.

    Tomkiewicz napisał:

    Skoro wprowadzenie danych zajęło kilka miesięcy, sugeruje, że mogą być warte kilkanaście - kilkadziesiąt tysięcy złotych. Za taką kwotę wiele osób porwało by się na takiego xora, a w razie niepowodzenia podzieliło by się zyskiem z profesjonalnym kryptologiem.


    o tu własnie leży ten wasz problem - w tych kilkudziesięciu tysiącach złotych - albo i jeszcze większych ilości. Technologię znacie i dobrze - to się chwali, ale co do reszty podejścia to jest ono mocno wypaczone - oczywiście moim subiektywnym zdaniem.

    reasumując - ja ci nie dam żadnego argumentu przeciw - bo ja nie jestem przeciw (czego ty nie potrafisz doczytać) .... trzeba umieć dobierać narzędzia do potrzeb i sytuacji

    a na koniec zapewnię cię, że żaden, jak to określiłeś "profesjonalny kryptolog", nawet by nie sięgnął po takie rozwiązania . A jak już to nie za takie nędzne pieniądze jak kilkadziesiąt tysięcy złotych ;) .... Na takiej zasadzie to i ja mógłbym cię straszyć swoim wójkiem mega-kryptologiem, który pracuje w US ARMY na atomowych okrętach podwodnych. I jak będzie trzeba to do niego zadzwonię żeby mi coś tam rozszyfrował
  • #12 7615317
    Balu
    Poziom 38  
    Sam zacząłeś robić wycieczki...
    Poza tym:)
    Robi się melodramat ^^

    Cytat:

    When we speak of free software, we are referring to freedom, not
    price. Our General Public Licenses are designed to make sure that you
    have the freedom to distribute copies of free software (and charge for
    them if you wish), that you receive source code or can get it if you
    want it, that you can change the software or use pieces of it in new
    free programs, and that you know you can do these things.



    Dodano po 56 [sekundy]:

    EOT z mojej strony.
  • #13 7615328
    mirekk36
    Poziom 42  
    Balu napisał:
    Napisaliśmy, że xorowanie jednym bajtem to zabawka. Wiem, ze to podstawienie.
    Jeśli jest to zwykły xor na bycie, OK, sprawdza się szybko, gorzej gdy masz jakieś konkretniejsze xorowanie z jakąś tablicą lub cokolwiek w ten deseń.


    Balu - ale koledzy nie wiedzą właśnie co to może być ten "deseń" i stąd te ich problemy.

    Zresztą trafiłeś właśnie w sedno - że ogólnie mówiąc - za kilkadziesiąt tysięcy złotych - to opłacałoby się zapewne komuś zrobić taki układ całkowicie od nowa. I to nawet bez żadnego reverse endżinieringu by się opłaciło. Natomiast za taką kasę podsłuchiwać i deszyfrować coś co nie wiadomo nawet jak i czym jest zakodowane może być opłacalne co najwyżej dla szaleńca a nie nie profesjonalnego kryptologa ;) .... no sorki ale ten profesjonalny kryptolog wywołuje u mnie uśmiech
  • #14 7615381
    Konto nie istnieje
    Poziom 1  
  • #15 7615389
    Tomkiewicz
    Poziom 13  
    W takim razie, autor tematu powinien się wypowiedzieć, ile są dla niego warte te dane, bo jeżeli 100 - 1000zł, albo target jest taki, że na te dane najwyżej połakomił by się jakiś dzieciak, chcący też otworzyć sklep na allegro, to rzeczywiście macie rację - nie ma co się wysilać.

    Przy zabezpieczeniach na proponowanym poziomie, "profesjonalny kryptolog" to mógłby być chociażby wykładowca z uczelni. Wystarczy do niego pójść i przedstawić "ciekawy problem", a on to [edit: może zrobi -> zrobi może] i za darmo w ramach treningu.

    Podane przeze mnie linki to wynik kilkudziesięciu sekund googlania, w razie potrzeby można poszukać czegoś na licencji LGPL, ewentualnie samemu to naklepać. Poza tym, na GPL trzeba wydać program, a nie dane i klucz :D.

    @atom1477: udam, że tych rewelacji o łamaniu [edit: DESa] nie widziałem ;).

    Jeżeli mówimy o tym, że "każdy" algorytm można złamać, warto się jeszcze czymś podeprzeć. Otwarte algorytmy posiadają dowody, że jego złamanie jest trudne. Czego nie można powiedzieć o wymyślanych na kolanie xorach.
  • #16 7615404
    Balu
    Poziom 38  
    Wydajesz program, kupujesz urzadzenie -> masz komplet:)
    A mówiąc o xorach myślałem (zarówno i mirekk36) o czym podobnym do pomysłu atom'a

    PS nie wiem na jakiej jesteś uczelni ale na POLSL by Cię wyśmiali...:)
    "Czy nie rozszyfrowałby mi Pan 4KB danych, wiem, że w nich są napisy, i że użyto XORów"
    Mina człowieka...bezcenna:)
    Sorry!
  • #17 7615427
    Konto nie istnieje
    Poziom 1  
  • #19 7615457
    mirekk36
    Poziom 42  
    Tomkiewicz napisał:

    Przy zabezpieczeniach na proponowanym poziomie, "profesjonalny kryptolog" to mógłby być chociażby wykładowca z uczelni. Wystarczy do niego pójść i przedstawić "ciekawy problem", a on to może zrobi i za darmo w ramach treningu.


    hahahaha - to może zrobi ;) no! - już dawno nie widziałem na elektrodzie kogoś tak przekonywującego jak ty

    Tomkiewicz napisał:

    Podane przeze mnie linki to wynik kilkudziesięciu sekund googlania, w razie potrzeby można poszukać czegoś na licencji LGPL, ewentualnie samemu to naklepać. Poza tym, na GPL trzeba wydać program, a nie dane i klucz :D.

    tak coś wygoglałeś - ale tak do końca to sam nie wiesz co

    Tomkiewicz napisał:

    @atom1477: udam, że rewelacji o łamaniu nie widziałem ;).

    aaaaach - rozumiem - to od dzisiaj do ciebie powinniśmy się zwracać per pan "profesjonalny kryptograf"

    Tomkiewicz napisał:

    Jeżeli mówimy o tym, że "każdy" algorytm można złamać, warto się jeszcze czymś podeprzeć. Otwarte algorytmy posiadają dowody, że jego złamanie jest trudne. Czego nie można powiedzieć o wymyślanych na kolanie xorach.


    taaak masz rację, nie można tego powiedzieć o tych wymyślanych na kolanie, tylko dodaj jak chcesz być profi - że nie można powiedzieć że są trudne ale tak samo nie można powiedzieć że są łatwe. W ogóle nie można o nich nic powiedzieć bo nawet nie wiesz na czym się będzie opierał taki sposób. A to - że w ogóle i ani w ząb nie rozumiesz takich metod o jakich już dokładniej napisał atom1477 ale też i autor wątku - to już twoja sprawa. Po prostu ciężko ci wyobrazić sobie - że poza zwykłym XORowaniem jakimś tam bajtem można samemu jeszcze coś innego wymyśleć. Dla ciebie istnieje tylko jeden aksjomat. Jak szyfrowanie - to tylko znane sprawdzone algorytmy - czego sam nie potrafię zrozumieć to nawet nie będę się za to zbierał. Co poniekąd rozumiem - bo nie każdy musi się na wszystkim od razu znać. Więc tak trzymaj i korzystaj z tych algorytmów - natomiast nie rozsiewaj na około informacji, że skoro ty nic nie potrafisz w tym temacie zrobić to inni podobnie.
  • #20 7615561
    Tomkiewicz
    Poziom 13  
    Obawiam się, że już wszystko, co miałem do przekazania przekazałem, a dyskusja zeszła na poziom gdybania i personalnych wycieczek. W takim razie nie pozostaje mi nic innego, niż Wam przytaknąć i czekać na kolejnego newsa o kolejnym złamanym urządzeniu.

    Jeżeli coś niezbyt jasno opisałem, a ktoś jest zainteresowany tematem - zapraszam na PW.
  • #21 7615567
    Balu
    Poziom 38  
    ^^ Czuję, że mi dokopałeś:)
    Dużo tych newsów na elce masz? (Odnośnie urządzeń produkowany przez elkowiczów, nie mówię, o kretyńskich zabezpieczeniach oprogramowania na PC do których wystarcza przeważnie dissasm:) )
  • #22 7615609
    mirekk36
    Poziom 42  
    Tomkiewicz napisał:
    Obawiam się, że już wszystko, co miałem do przekazania przekazałem, a dyskusja zeszła na poziom gdybania i personalnych wycieczek.


    tak święta racja to już wszystko co miałeś do przekazania. A dyskusja rzeczywiście zeszła z twojego powodu na temat gdybania co wykazałem ci kilka postów wyżej - widzisz ten duży cytat na niebiesko? .....Odnośnie wycieczek - też sam zacząłeś więc miałeś kontynuację. Więc najlepiej będzie jeśli pozostaniesz na PW - popieram.
  • #23 7615858
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Taaak... XORy "z bajerami" lepsze od AESa... Szkoda, że nie zabezpieczono w ten sposób WiFi i GSMa - gdyby tylko twórcy tych standardów wpadli na taki genialny pomysł, to teraz te standardy byłyby nie do złamania... Albo czemu twórcy gier i konsol nie zastosują takiego genialnego sposobu - przecież to by było nie do przeskoczenia!

    Na prawdę nie macie pojęcia o szyfrowaniu mówiąc, że jakiś "własny" algorytm będzie lepszy od prostego AESa, do którego kod można znaleźć pewnie nawet na Wikipedii. Siła AESa (i innych profesjonalnych algorytmów) tkwi nie w tym, że nie wiadomo co zostało zastosowane (HALO - na urządzeniu autora nie będzie wielkiego napisu "AES inside", więc kolejny głupi argument odpada), tylko w tym, że algorytm jest TRUDNY (nawet bardzo) do złamania.

    Cytat:
    A related-key attack can break 256-bit AES with a complexity of 2^119, which is faster than brute force but is still infeasible. 192-bit AES can also be defeated in a similar manner, but at a complexity of 2^176. 128-bit AES is not affected by this attack. A chosen-plaintext attack can break 8 rounds of 192- and 256-bit AES, and 7 rounds of 128-bit AES, although the workload is impractical at 2^128 - 2^119. (Ferguson et al., 2000).{tutaj dodamy, że zwykle AES stosuje 10 - 14 "rounds", więc...}

    I teraz wielkie halo, bo wasz XOR może mieć nawet 512 kluczy! ŁAŁ! Myślicie, że złożoność ataku na ten wasz "wymyślony" algorytm przekroczy choć 2^32? Możecie mieć nawet 100k kluczy, ale wciąż będzie to po prostu podstawienie z JEDNĄ dodatkową operacją... Damn, gdyby tylko twórcy GSM i WiFi wiedzieli...

    Całe wasze dowodzenie wyższości "bajerów" nad dowolnym profesjonalnym algorytmem miałoby sens, gdyby to zastosowania tego algorytmu było potrzebne 100MHz, 100MB i jeszcze 10k$ na licencję - w obliczu dostępnych GOTOWYCH, SPRAWDZONYCH, SZYBKICH, DZIAŁAJĄCYCH i DARMOWYCH rozwiązań z użyciem czegoś o POTWIERDZONEJ SKUTECZNOŚCI i GIGANTYCZNYM POZIOMIE ZABEZPIECZENIA, wasze argumenty są po prostu ... zabawne, a sposób w jaki obrażacie innych wyzywając ich od "dzieciaków", "zbuntowanej młodzieży", itp. jest żenujący...

    Nie ośmieszajcie się dalej...

    atom1477 napisał:
    Komputer metodą brutal force może sprawdzić i 1000000000000000000000000000000000000000000 kluczy.

    Taa... i pewnie zrobi to w 3 sekundy? Może faktycznie - w kilka lat dałoby radę...

    4\/3!!
  • #24 7616054
    Konto nie istnieje
    Poziom 1  
  • #25 7616159
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Wszystko fajnie, tylko że - jak już pisałem - urządzenie autora będzie JAKOŚ zaszyfrowane. Skąd wiecie, że w środku będzie użyty akurat AES, a nie Twofish, Serpent, albo RC5? Będziecie łamać 4 algorytmy na raz? A jak będzie zaszyfrowane najpierw AES, potem Twofish, a na koniec przejechany Serpent to co - też bez problemu?

    Sorry, ale ten argument jest bezsensowny... Jedyną siłą waszego "algorytmu" jest to, że jest nieznany. Ale tak naprawdę to dla użytkownika urządzenia autora nieznany będzie też AES, a przy okazji będzie bardzo trudny do złamania, jakby go przypadkiem jednak poznał, więc... ?

    PS. Złamanie AESa jest niewykonalne - sorry, ale mówmy o RZECZYWISTOŚCI. Tak - komputer sprawdzi Ci wszystkie klucze, może zajmie mu to 100 lat, a może 230, ale faktycznie - w końcu je sprawdzi. Za wikipedią:

    Cytat:
    Until May 2009, the only successful published attacks against the full AES were side-channel attacks on specific implementations.[...]AES has 10 rounds for 128-bit keys, 12 rounds for 192-bit keys, and 14 rounds for 256-bit keys. By 2006, the best known attacks were on 7 rounds for 128-bit keys, 8 rounds for 192-bit keys, and 9 rounds for 256-bit keys.[...]Unlike most other block ciphers, AES has a very neat algebraic description.[10] In 2002, a theoretical attack, termed the "XSL attack", was announced by Nicolas Courtois and Josef Pieprzyk, purporting to show a weakness in the AES algorithm due to its simple description.[11] Since then, other papers have shown that the attack as originally presented is unworkable; see XSL attack on block ciphers.[...]On July 1, 2009, Bruce Schneier blogged about a related-key attack on the 192-bit and 256-bit versions of AES discovered by Alex Biryukov and Dmitry Khovratovich; the related key attack on the 256-bit version of AES exploits AES' somewhat simple key schedule and has a complexity of 2119. This is a follow-up to an attack discovered earlier in 2009 by Alex Biryukov, Dmitry Khovratovich, and Ivica Nikolic, with a complexity of 296 for one out of every 235 keys.

    Another attack was blogged by Bruce Schneier on July 30, 2009 and published on August 3, 2009. This new attack, by Alex Biryukov, Orr Dunkelman, Nathan Keller, Dmitry Khovratovich, and Adi Shamir, is against AES-256 that uses only two related keys and 239 time to recover the complete 256-bit key of a 9-round version, or 245 time for a 10-round version with a stronger type of related subkey attack, or 270 time for a 11-round version. 256-bit AES uses 14 rounds, so these attacks aren't effective against full AES.

    In November 2009, the first attack against a reduced 8-round version of AES-128 was published. This known-key distinguishing attack is an improvement of the rebound or the start-from-the-middle attacks for AES-like permutations, which view two consecutive rounds of permutation as the application of a so-called Super-Box. It works on the 8-round version of AES-128, with a computation complexity of 248, and a memory complexity of 232.

    Niech ktoś udowodni, że złamanie waszego algorytmu jest trudniejsze... Bo do tej pory każdy argument jest bezsensu! Przypominam - tak samo jak "nieznany" będzie wasz "hax0rski algorytm XORów", tak samo "nieznany" dla intruza będzie AES.

    4\/3!!
  • #26 7616167
    __Grzegorz__
    Poziom 30  
    W XORowaniu:
    jeżeli długość klucza >= długości kodowanego zbioru i zawartość klucza jest statystycznie losowa - to o odkodowaniu możesz zapomnieć.
    Dane po XOR - to będzie praktycznie idealny szum informacyjny.
    Dowolne statystyki dla tych danych NIE pomogą w znalezieniu oryginału.

    A w AES - ZAWSZE można go złamać.

    Jedyna wada: dużo danych - długi klucz.
  • #27 7616218
    Freddie Chopin
    Specjalista - Mikrokontrolery
    __Grzegorz__ napisał:
    Jedyna wada: dużo danych - długi klucz.

    Błagam... To są żarty! OK - do XORowania zrób sobie klucz długości 10kB (pomijam bezsens, że jak ktoś ma pamięci na klucz dłuższy niż dane, to wystarczy dane trzymać w pamięci wewnętrznej, bez transmisji zewnętrznej nie ma problemu). Teraz złam AESa o tak długim kluczu - good luck! Tak - da się. Może przed tym jak Słońce pochłonie Ziemię za 5 mld lat zdążysz z tym łamaniem...

    Ta "wada" jest dyskwalifikująca...

    4\/3!!
  • #28 7616228
    Konto nie istnieje
    Poziom 1  
  • #29 7616263
    Freddie Chopin
    Specjalista - Mikrokontrolery
    W takim razie proste pytanie - czemu nie stosuje się fantastycznego XORowania w JAKIMKOLWIEK profesjonalnym rozwiązaniu? WiFi? GSM? HTTPS? Podpisy cyfrowe? VPN? Cokolwiek? Hmm... może dlatego, że JEST słaby, jakkolwiek długi byłby ten wasz "klucz"?

    4\/3!!
  • #30 7616282
    __Grzegorz__
    Poziom 30  
    W moim poście położyłem nacisk nie na porównanie kluczy, tylko na matematyczną możliwość odzyskania danych.

    W XOR przy długości klucza >= długości danych odszyfrowanie danych jest po prostu nie do wykonania.

    AESa zawsze można cofnąć.


    Wszystko opiera się o wytłuszczony warunek.
    Niestety, jeżeli długość klucza < ilości danych, to XOR leży i kwiczy.

    Tak zabezpieczone dane rozwala się robiąc autokorelację...

    Nie wspominam o statystykach wyższego rzędu :)

    W GSM, Wifi można gromadzić miliony pakietów, i w sumie przy dowolnej długości klucza przy XOR - byłoby to łątwe do rozwalenia właśnie poprzez autokorelację.

    Okresowość wyznaczonej korelacji pokazałaby długość klucza :)
REKLAMA