eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPrędkość funkcji SHA3-256Re: Prędkość funkcji SHA3-256
  • 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];
    }
    }

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: