profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/Bulat-Ziganshin/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

Bulat-Ziganshin/FastECC 258

Reed-Solomon coder computing one million parity blocks at 1 GB/s. O(N*log(N)) algo employing FFT.

Bulat-Ziganshin/FA 119

FreeArc'Next

Bulat-Ziganshin/FARSH 44

Fast and Reliable (but not Secure) Hash

Bulat-Ziganshin/Compression-Research 28

This repository contains my experiments with compression-related algorithms

Bulat-Ziganshin/DataSmoke 21

Datatype detection in order to choose appropriate compression algorithm

Bulat-Ziganshin/magus 12

Portable high-level assembler with authentic C syntax

Bulat-Ziganshin/CELS 7

Framework and standard API for compression algorithms

Bulat-Ziganshin/brotli 4

Brotli compression format

Bulat-Ziganshin/GPU-Compression 3

Examples of data compression algorithms running on GPU

issue openedClickHouse/ClickHouse

Minor code style issues in CompressionCodecEncrypted.cpp

Я смотрю сегодняшнюю версию в master, возможно это уже поправлено

  1. Число 16 во многих местах может быть заменено на tag_size
  2. Для числа 12 я бы тоже ввёл константу nonce_size
  3. "\0...\0" тоже выглядит некрасиво, у меня нет опыта с constexpr, но может можно сделать так:

char default_nonce_buf[nonce_size] = {}; string default_nonce = {default_nonce_buf, nonce_size};

И ещё - в комментах упоминается IV. но поскольку IV является частным случаем nonce, возникают некоторые непонятки. я пока не заглянул в доку по aes_gcm_siv, не понимал о чём речь. Поэтому лучше вместо IV писать authentication tag - так будет понятней. Ну и вообще подчёркивать что это алгоритм шифрования И аутенфикации

created time in a day

startedjfalcou/eve

started time in 2 days

startedsmartvotedocs/votesmart2021

started time in a month

issue commentskeeto/hash-prospector

[Q] Seeded integer hash functions

afair, crcN(uintN) is always reversible function, so author can include it in his list of reversible primitives

that said, half of his primitives are parameterized, so you can use any sequence of the primitives that employs enough entropy from the seed. but since crc and mul are better bit-mixers than other ops, crc(x*(seed|1)) still looks for me like the most efficient reversible hash function

and regarding quality, you can reuse the code to compute AVERAGE bias for random-generated operation parameters instead of searching for MINIMAL one, for various operation sequences

some seeds are going to create lousy permutations

they can't do it as far as each individual operation is reversible

I would use some scramble of the seed

it's useless except when you have extremally poor PRNG such as return n++. It may be useful only if you use seed more than once such as

x *= seed
x <<<= 17
x *= scramble(seed)
hauntsaninja

comment created time in 2 months

issue commentskeeto/hash-prospector

[Q] Seeded integer hash functions

the first idea that come to mind crc32(uint64(x)*seed), of course for seed!=0 and 32-bit x value

hauntsaninja

comment created time in 2 months

startedamedlock/tinyc-nim

started time in 3 months