Nikolai Konovalov's Avatar

Nikolai Konovalov

@li0ard.rest.bsky.social

Fullstack TS developer β€’ cryptography engineer β€’ OSS maintainer β€’ connoisseur of coffee Building eMRTD tools and creating OSS for πŸ‡·πŸ‡Ί GOST, πŸ‡ΊπŸ‡¦ DSTU, πŸ‡§πŸ‡Ύ STB standards Github: @li0ard β€’ li0ard.rest

6 Followers  |  12 Following  |  17 Posts  |  Joined: 26.02.2025  |  1.8667

Latest posts by li0ard.rest on Bluesky

P.S. I'm tired of transferring ASN.1 schema to TS like 10 times and catching errors because of fucking CHOICE

22.11.2025 22:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

ISO/IEC 39794 is good replacement for ISO/IEC 19794, but i have never seen so many "pyramid" ASN.1 structures. tsemrtd will implement this standard, but only for mandatory fields and only for DG2 now

22.11.2025 22:30 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Ask me about my dream and i'll answer "staΕ‚y pobyt"...

12.11.2025 21:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

"Many thanks" to Roskomnadzor, cuz now I can't open sites that using @cloudflare.social without using VPN.

03.11.2025 05:53 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

btw GPL (and AGPL, LGPL) sucks, use MIT

18.09.2025 19:57 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Especially funny situation with Ukrainian algorithms (DSTU)

Kupyna (DSTU 7564:2014) - modified GrΓΈstl;
Kalyna (DSTU 7624:2014) - modified AES;
Strumok (DSTU 8845:2019) - modified SNOW 2.0;
Skelya (DSTU 8961:2019) - modified NTRU;
Vershyna (DSTU 9212:2023) - modified CRYSTALS-Dilithium.

09.09.2025 17:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Screenshot from my Github profile with a list of implementations of cryptographic algorithms from post-USSR countries

Screenshot from my Github profile with a list of implementations of cryptographic algorithms from post-USSR countries

Welcome to the "fascinating" world of cryptographic algorithms in post-USSR countries...

09.09.2025 17:13 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Screenshot from my GitHub

Screenshot from my GitHub

It was very painful...

03.08.2025 16:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Im fucking hate @jsr.io #2

Why do I have to specify an explicit type for constants?
I understand that this should work with variables, but constants just got me...

06.07.2025 11:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Π’ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ поста

06.07.2025 10:47 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π½Π° русском языкС be like

Никаких Π²Π°ΠΌ "Initial commit", Ρ‚ΠΎΠ»ΡŒΠΊΠΎ "ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅"

05.07.2025 11:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Post image

I fucking hate JSR...

Context: Project has no dependencies at all, but JSR changed format of Bun lock file (.lockb -> .lock), and also throwed error 🫠

01.07.2025 17:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

How do know which Swarm is serving specific Session ID?

- Split Session ID into 4 parts of 8 bytes and XOR each other.
- Next, you need to find closest Swarm ID value in blockchain

Example: d31609a18228b69e -> d300000000000000 (closest value in blockchain)

27.06.2025 08:20 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Specifications >> The XEdDSA and VXEdDSA Signature Schemes This document describes how to create and verify EdDSA-compatible signatures using public key and private key formats initially defined for the X25519 and X448 elliptic curve Diffie-Hellman functions.

Remarkably, Signal had same problem when developing the XEdDSA and VXEdDSA algorithms, but they solved it by forcibly zeroing the sign bit. (check 2.3 section of specification)

P.S I especially like that "libsession-util" repository intentionally disables issues

25.06.2025 07:31 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Messenger Session in new Blinded ID algorithm makes same mistake as in old algorithm.

Again failed if-condition is used to check the sign bit (pk[31 & 0x80) to generate hash of the server's public key, as result we again have 2 variants of possible public key when converting key pair

25.06.2025 07:25 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Also keep in mind that the current Blinded ID algorithm is reversible, i.e. it is possible to get the user ID knowing only the public key of SOGS.

A practical implementation of this algorithm is - github.com/theinfinityw...

23.06.2025 21:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It's pretty funny that Session messenger uses 16 bytes, obtained from the seed phrase and not modified in any way, as the Ed25519 private key for your profile 🫠

23.06.2025 21:17 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@li0ard.rest is following 12 prominent accounts