-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Borneq <b...@a...hidden.pl>
Newsgroups: pl.comp.programming
Subject: Re: Prędkość funkcji SHA3-256
Date: Tue, 8 Jan 2019 18:56:37 +0100
Organization: ATMAN - ATM S.A.
Lines: 47
Message-ID: <q12o8l$gb3$2@node1.news.atman.pl>
References: <q12o1h$gb3$1@node1.news.atman.pl>
NNTP-Posting-Host: public-gprs350939.centertel.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1546970197 16739 37.47.2.28 (8 Jan 2019 17:56:37 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 8 Jan 2019 17:56:37 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
Thunderbird/60.4.0
In-Reply-To: <q12o1h$gb3$1@node1.news.atman.pl>
Content-Language: pl
Xref: news-archive.icm.edu.pl pl.comp.programming:213206
[ ukryj nagłówki ]W dniu 08.01.2019 o 18:52, Borneq pisze:
> Zaimplementowałem według https://github.com/brainhub/SHA3IUF
> i okazuje się że SHA3-256 jest dwa razy wolniejsza niż SHA2-256...
> a myślałem że jest ona bardzo szybka, Visual Release x64
Czego się spodziewać, skoro nie dość że ma 24 rundy, to jeszcze w
każdej: są dwie pętle po 24 i 25 (na szczęście nie jedna w drugiej)
void TDCP_sha3::keccakf(uint64_t s[25])
{
int i, j, round;
uint64_t t, bc[5];
const int KECCAK_ROUNDS = 24;
for (round = 0; round < KECCAK_ROUNDS; round++)
{
/* Theta */
for (i = 0; i < 5; i++)
bc[i] = s[i] ^ s[i + 5] ^ s[i + 10] ^ s[i + 15] ^ s[i + 20];
for (i = 0; i < 5; i++) {
t = bc[(i + 4) % 5] ^ SHA3_ROTL64(bc[(i + 1) % 5], 1);
for (j = 0; j < 25; j += 5)
s[j + i] ^= t;
}
/* Rho Pi */
t = s[1];
for (i = 0; i < 24; i++) {
j = keccakf_piln[i];
bc[0] = s[j];
s[j] = SHA3_ROTL64(t, keccakf_rotc[i]);
t = bc[0];
}
/* Chi */
for (j = 0; j < 25; j += 5) {
for (i = 0; i < 5; i++)
bc[i] = s[j + i];
for (i = 0; i < 5; i++)
s[j + i] ^= (~bc[(i + 1) % 5]) & bc[(i + 2) % 5];
}
/* Iota */
s[0] ^= keccakf_rndc[round];
}
}
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-25 Kraków => DevOps Engineer (Junior/Regular) <=
- 2025-02-25 Kraków => Front-end Developer <=
- 2025-02-25 Szpital
- 2025-02-24 Gniazdo + wtyk
- 2025-02-24 Dyrektor Toyoty miał rację. Elektryki to ślepa uliczka
- 2025-02-24 Białystok => System Architect (Java background) <=
- 2025-02-24 Białystok => System Architect (background deweloperski w Java) <=
- 2025-02-24 Białystok => Solution Architect (Java background) <=
- 2025-02-24 Warszawa => Data Engineer (Tech Leader) <=
- 2025-02-24 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-24 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-24 Gliwice => IT Expert (Network Systems area) <=
- 2025-02-24 Warszawa => International Freight Forwarder <=
- 2025-02-24 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-24 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i