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@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
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 π 0ISO/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 π 0Ask 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 π 0btw GPL (and AGPL, LGPL) sucks, use MIT
18.09.2025 19:57 β π 0 π 0 π¬ 0 π 0Especially 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.
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 π 0Screenshot from my GitHub
It was very painful...
03.08.2025 16:37 β π 1 π 0 π¬ 0 π 0Im 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 10:47 β π 1 π 0 π¬ 0 π 0ΠΠΎΠΌΠΌΠΈΡΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ be like
ΠΠΈΠΊΠ°ΠΊΠΈΡ
Π²Π°ΠΌ "Initial commit", ΡΠΎΠ»ΡΠΊΠΎ "ΠΠ°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅"
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 π«
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)
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
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
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...
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