-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.chmurka.net!.POSTED!not-for-mail
From: Piotr Gałka <p...@c...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: NTG? procesory intella?
Date: Sat, 5 Oct 2013 16:04:27 +0200
Organization: news.chmurka.net
Lines: 87
Message-ID: <l2p69a$jer$1@somewhere.invalid>
References: <l2kmmu$6cl$1@node2.news.atman.pl>
<2...@g...com>
<l2lnfs$6t4$1@node1.news.atman.pl> <l2m1rk$55v$1@somewhere.invalid>
<l2m8le$p3a$1@node1.news.atman.pl> <l2oi4i$aid$1@somewhere.invalid>
<1icuael7xhem8$.128hw8dep8au9.dlg@40tude.net>
NNTP-Posting-Host: 213.192.88.238
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Trace: somewhere.invalid 1380981866 19931 213.192.88.238 (5 Oct 2013 14:04:26 GMT)
X-Complaints-To: abuse-news.(at).chmurka.net
NNTP-Posting-Date: Sat, 5 Oct 2013 14:04:26 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-Priority: 3
X-Authenticated-User: PiotrGalka
X-MSMail-Priority: Normal
Xref: news-archive.icm.edu.pl pl.misc.elektronika:652840
[ ukryj nagłówki ]
Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
news:1icuael7xhem8$.128hw8dep8au9.dlg@40tude.net...
>> Ja mam komputer sprzed może 5 lat i jeszcze nigdy nie zauważyłem aby był
>> wolniejszy ode mnie (AESa czy SHA256 przelicza w 1us).
>
> Jestes pewien ? AES to chyba dosc skomplikowany szyfr i 1us moze byc
> malo.
W konkursie na AES wybrali jeden z 3 czy 5 finalistów. Wcale nie wybrali
tego najbezpieczniejszego tylko ten najefektywniejszy w implementacji.
Nie mogę teraz znaleźć, gdzie mam zanotowane wyniki różnych prób. Według
mojej najlepszej pamięci:
DES - około 0,45us (64 bitowy algorytm z kluczem 56bitów - dostosowany
bardziej do realizacji sprzętowej niż programowej)
AES128 - około 1,2us (128 bitowy z kluczem 128 bitowym)
SHA256 stosuję do wydłużenia hasła - 1 000 000 wykonań (dane mieszczą się w
jednym bloku) trwa poniżej 2s.
Wszystkie algorytmy nie w jakiejś absolutnie nieczytelnej super optymalnej
formie, która różnymi #define i #ifdef dopasowuje się do systemu i maszyny i
najlepiej robi wszystko jako jeden wielki ciąg instrukcji bez pętli i
wywoływania podprocedur tylko zapisane przeze mnie tak, aby były według mnie
jak najczytelniejsze.
>
> W dodatku czesto szyfry zawieraja operacje "nieprocesorowe",
> tzn np "wybierz bity 5, 13, 21 i 27" jest upierdliwa.
Tak było w DESie - sprzętowo banalne - odpowiednie druciki lecą w
odpowiednie miejsca, programowo koszmarek.
Największą wadą AES (według pewnych ekspertów) jest to, że jest pięknie
zapisany matematycznie (w jakiejś tam algebrze czy jak to się zwie) bez
żadnych takich kombinacji. Nie można wykluczyć, że kiedyś jakiś student
matematyki wpadnie na jakieś analityczne rozwiązanie i swój referat zakończy
słowami: "stosując tę metodę na moim PC złamanie AES zajmuje ..... minut."
byte AES::SBox[256]={0x63,0x7C,0x77,..........,0x54,0xBB,
0x16};
void __fastcall AES::Encode(byte d[16])
{
static byte M2[256]={0x00,0x02,0x04,........,0xE1,0xE7,0xE5};
static byte M3[256]={0x00,0x03,0x06,.........0x1C,0x19,0x1A};
int i,j;
byte b[16];
byte *k=Key;
for(j=0;j<16;j+=4){*(dword*)(d+j)^=*(dword*)(k);k+=4
;}
for(i=Nr;i--;) // kolejne rundy
{
for(j=0;j<16;++j)b[j]=SBox[d[(j+((j&3)<<2))&0xF]]; // ShiftRows i
SubBytes
if(i)for(j=0;j<16;j+=4) // MixColumns i AddRoundKey
{
d[j] = M2[b[j]] ^ M3[b[j+1]] ^ b[j+2] ^ b[j+3] ^ *(k++);
d[j+1]= b[j] ^ M2[b[j+1]] ^ M3[b[j+2]] ^ b[j+3] ^ *(k++);
d[j+2]= b[j] ^ b[j+1] ^ M2[b[j+2]] ^ M3[b[j+3]] ^ *(k++);
d[j+3]= M3[b[j]] ^ b[j+1] ^ b[j+2] ^ M2[b[j+3]] ^ *(k++);
}
else
for(j=0;j<16;j+=4){*(dword*)(d+j)=*(dword*)(b+j)^*(d
word*)(k);k+=4;}
}
}
Skróciłem tabele M2 i M3 (to nie są tabele "z sufitu" tylko ztabelaryzowane
policzalne funkcje (chyba druga i trzecia potęga ale w jakimś dziwnym
matematycznym świecie). Z komentarza // ShiftRows i SubBytes wnioskuję, że
SBox to tylko jakieś przesunięcia (nie to co SBox w DES). Nie pamiętam -
pisałem to 5 lat temu.
> Tak czy inaczej - liczy tego AES wielokrotnie szybciej niz czlowiek
> :-)
>
> Ale inne rzeczy juz niekoniecznie sa takie szybkie, ja blyskawicznie
> zaplanuje trase z Wroclawia do Olsztyna, wystarczy rzut oka na mape.
> A nawigacja liczy i liczy ... fakt ze czasem obliczy lepsza :-)
Albo wyprowadzi w totalne maliny.....
Jechałem Zakopane-Białystok. Zaplanowałem poprzedniego dnia. Sprawdziłem jak
przejeżdża przez Kraków - było OK. Ale w Krakowie zjechałem na stację
benzynową i przeliczył od nowa. Już po chwili jechaliśmy uliczkami
osiedlowymi, potem koło jakiegoś cmentarza i na działki na polną drogę na
środku której była wysoka na 1m sterta gruzu nie do przejechania (znaczy
czołgiem by się dało).
P.G.
Następne wpisy z tego wątku
- 05.10.13 16:24 Piotr Gałka
- 05.10.13 16:34 Piotr Gałka
- 05.10.13 17:11 s...@g...com
- 05.10.13 20:10 pytajacy
- 05.10.13 21:17 Mario
- 05.10.13 21:29 Mario
- 05.10.13 21:37 Mario
- 06.10.13 11:23 Marek
- 06.10.13 11:28 ACMM-033
- 06.10.13 13:09 Piotr Gałka
- 06.10.13 16:48 RoMan Mandziejewicz
- 06.10.13 19:09 ACMM-033
- 07.10.13 08:33 J.F.
- 07.10.13 09:25 Piotr Gałka
- 07.10.13 09:36 Piotr Gałka
Najnowsze wątki z tej grupy
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
Najnowsze wątki
- 2025-02-17 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-17 Chrzanów => Programista NodeJS <=
- 2025-02-17 Warszawa => Node.js / Fullstack Developer <=
- 2025-02-17 Białystok => System Architect (Java background) <=
- 2025-02-17 Białystok => Solution Architect (Java background) <=
- 2025-02-17 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-17 Gdańsk => PHP Developer <=
- 2025-02-17 Warszawa => Senior ASP.NET Developer <=
- 2025-02-17 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-17 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-17 Odśnieżanie samochodu
- 2025-02-17 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-17 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-17 Pompiarze...
- 2025-02-16 PV teraz