-
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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-26 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-04-26 Berlin => IT Network Engineer <=
- 2024-04-26 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-04-26 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-04-26 Białystok => Business Development Manager - obszar bezpieczeństwa IT
- 2024-04-26 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-04-26 Warszawa => Product Owner/ Product Manager <=
- 2024-04-26 Warszawa => International freight forwarder <=
- 2024-04-26 Gdańsk => Senior Software Engineer PHP (BillPro) Kontraktor <=
- 2024-04-26 Jak się płaci CIT ?
- 2024-04-26 steve balmer o iphonie w 2007
- 2024-04-25 Wrocław => Java Developer <=
- 2024-04-25 Kraków => AI Specialist <=
- 2024-04-25 Berlin => Solution Architect (secure communication and IoT solutions)
- 2024-04-25 Gdańsk => Specjalista ds. Sprzedaży <=