V nedávno zveřejněné kolekci dokumentů souvisejících s kontroverzním finančníkem a kuplířem Jeffrey Epsteinem se překvapivě objevil i referenční manuál unixového shellu Bash, jedná se o verzi manuálu z roku 2005. Aktuální vydání si lze stáhnout ze stránek GNU.
The Document Foundation oznámila vydání nové verze 26.2 svobodného kancelářského balíku LibreOffice. Podrobný přehled nových vlastností i s náhledy v poznámkách k vydání (cs). Vypíchnout lze podporu formátu Markdown.
Co se děje ve zprávách, ví asi každý - válka sem, clo tam, demonstrace na jednu i druhou stranu a bastlíř už má pocit, že se snad ani nic jiného neděje. To by však byl velký omyl a Virtuální Bastlírna je zde jako každý měsíc, aby vytáhla na světlo světa události ze světa vědy a techniky. Připojte se tedy nezávaznému povídání Strahovského MacGyvera! Co se tam bude probírat? PCBWay začalo dělat průhledné plošňáky, MARS končí s výrobou skříněk, FEL
… více »Guvernérka státu New York Kathy Hochul (Demokraté) plánuje novou legislativu, která by měla omezit výrobu 3D tištěných zbraní. Tento návrh zákona zavádí povinnost pro všechny 3D tiskárny prodávané ve státě New York obsahovat 'software' bránící ve výrobě zbraní. Návrh zákona rovněž zakazuje lidem sdílet 'digitální plány zbraní' (blueprinty) bez povolení. Existují důvodné obavy, že se tento nešťastný nápad může šířit do dalších zemí a ovlivnit celý 3D tisk jako takový. Ostatně, s podobnou regulací nedávno přišel i stát Washington.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za prosinec 2025 a leden 2026 (YouTube). Zajímavé, že i v roce 2026 celou řadu problémů vyřeší falšování řetězce User-Agent.
Bylo rozhodnuto, že Linux From Scratch (LFS) končí s podporou System V init. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů už budou pouze se systemd.
Byla vydána nová verze 2026.1.0 "Like a Version" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. Změněno bylo číslování verzí. Předchozí verze byla 2.9.1.
Internetový prohlížeč Firefox bude mít nové ovládací prvky pro umělou inteligenci, které umožní uživatelům vypnout vestavěné AI funkce přímo v nastavení prohlížeče. Jednotlivě půjde vypnout nebo zapnout automatické překlady stránek, generovaní popisného textu k obrázkům v otevřených PDF dokumentech, samoorganizaci tabů do skupin, náhledy odkazů s krátkým shrnutím a boční panel s chatbotem. Tyto možnosti v nastavení prohlížeče
… více »Desktopové prostředí KDE Plasma 6.6, která je právě ve fázi beta, nahrazuje stávající SDDM novým Plasma Login Managerem, který je ale pevně navázán na systemd. Plasma Login Manager využívá systemd-logind a další součásti systemd, které nejsou dostupné v operačních systémech bez systemd, jako je například FreeBSD, případně jsou linuxové distribuce Gentoo, Void Linux anebo Alpine Linux. Pro uživatele zatím stále ještě existuje možnost používat SDDM.
Na webu komunitního setkání CSNOG 2026 jsou dostupné prezentace v PDF, jejich videozáznamy a fotografie z lednové akce ve Zlíně. CSNOG 2026 se zúčastnilo téměř 300 zájemců o vystoupení věnovaných správě sítí, legislativním a regulačním tématům nebo projektům z akademické sféry. Letos byly prezentace rozdělené do dvou treků, ve kterých se představilo 35 přednášejících. Setkání komunity CSNOG organizují společně sdružení CESNET, CZ.NIC a NIX.CZ.
Programming stuff. And stuff.
Zde začneme vysvětlovat vlastnosti těch křivek a jaké kompromisy dělají, většina těchto vlastností bude vysvětlena v další sekci o převoditelnosti křivek. První otázka, který mě zajímala, je že je ideální mít grupu, nebo-li počet prvků na křivce, prvočíselný. Proč bychom si neudělali grupu prvočíselného řádu? S grupou prvočíselného řádu (tj. počet prvků je prvočíslo) se mnohem lépe pracuje z hlediska, aby člověk neudělal chybu, protože grupy neprvočíselného řádu mají dost neintuitivní a zrádné vlastnosti (lidi v tom dělají chyby). Ale zrovna Montgomery a Twisted Edwards curves typicky nemají prvočíselný řád.
Místo toho se na Montgomeryho nebo Twisted Edwards křivce vybere podgrupa, které generátor má prvočíselný řád. Nebo jinak: tyhle grupy (křivky) mají neprvočíselný řád (počet prvků). To je jejich nevýhoda. Jejich výhody jsou třeba ten Montgomery ladder nebo u twisted Edwards curves vlastnost, že můžete mít velmi jednoduchý algoritmus, jak počítat aritmetiku na křivce - je to jednoduchá modulární aritmetika, která je úplná. Tj. funguje pro všechny vstupy nebo všechny body. Není nutné mít speciální "if" pro bod v nekonečnu (identitu). Ta identita je u twisted Edwards curves definována jako bod (0, 1) a můžete s ním počítat s ním jako s jakýmkoli jiným bodem (viz sekci 2 v Twisted Edwards Curves).
Tak co uděláme s tím neprvočíselným řádem? Platí, že řád grupy je c*l, kde c je tzv. cofactor a l je nějaké velké prvočíslo. Takže abychom se nemuseli babrat s neprvočíselným řádem, vybereme si generátor podgrupy, který bude mít prvočíselný řád l, pak platí, že řád křivky = cofactor * řád generátoru. Pro mnoho aplikací křivky tohle funguje fajn. Třeba tohle je důvod, proč když generujete privátní klíč pro Curve25519, tak vynulujete nejnižší 3 bity, aby vám vaše body spadly do podgrupy prvočíselného řádu l místo celé grupy křivky, které má řád 8*l. Jinak má Curve25519 podgrupy velikosti 1, 2, 4, 8, l, 2l, 4l, 8l.
Ten zmíněný problém s neintuitivností grupy s neprvočíselným řádem se prakticky krásně ukázal v chybě v CryptoNote kryptoměnách - Monero, ByteCoin. Slajdy z mé přednášky o této chybě najdete zde (sorry za ten site, ale na abclinuxu nelze nahrávat přímo PDF do přílohy).
CrytoNote protokol používá tzv. ring signature, která má za účel skrýt skutečného příjemce zkombinováním několika veřejných Curve25519 klíčů. A zde nastává ten problém. Protože do rovnice vstupuje veřejný klíč od útočníka (bod na křivce Curve25519) nazvaný key image, tak může mít malý řád (1, 2, 4, 8), protože nepřísluší k nějakému privátnímu klíči, kterému se při generování vynulují nejnižší tři bity (aby spadnul do té podgrupy s prvočíselným orderem l).
Chyba v implementaci byla, že nekontrolovala, zda vstupní má řád l a leží "na té správné podgrupě". Výsledkem byl doublespend v ByteCoinu, který udělali sami developeři, protože se stal v čase, kdy na vulnerability report bylo embargo a jedině admini o tom věděli. V těch slajdech mám im vymenovány ty transakce a ty body nízkého řádu, "prošel" jsem blockchain, abych je našel - je tam i Python skript na hledání těchto transakcí.
Co dodnes nechápu, jak je možné, že po provedení tohodle útoku stoupla cena ByteCoinu místo aby klesla, a celkem znatelně :D Go figure...
Zde si ukážeme, proč mají ty Edwards a Montgomery curves typicky neprvočíselný řád. Jak sme si již ukázali, Montgomeryho křivka je převoditelná na Weierstrass s trochou počítání. Zde si připomenem, že řád grupy je počet prvků grupy a řád prvku je "počet opakování" sčítání prvku sebe se samým, dokud se nedostaneme k identitě (neutrálnímu prvku/bodu v nekonečnu/"nule"). Dále platí (z paperu o Twisted Edwards Curves):
Věta 3.2: Každá Montgomeryho křivka nad polem charakteristiky != 2 lze převést na Twisted Edwards křivku. Jinak řečeno, s malou manipulací s koeficienty můžeme převádět Montgomery křivky na Twisted Edwards křivky tam a zpátky. Je to dobré třeba kvůli tomu, co se nám nad kterou formou lépe počítá. Podmínka, že pole nesmí být charakteristiky 2 značí, že to nesmí být nad GF(2^n), což jsou polynomy s koeficienty z množiny {0, 1}. Velmi zjednodušeně řečeno, GF(2^n) vypadá jako vektory bitů. V dnešní době se stejně moc nepoužívají, protože pro křivky nad polemi charakteristiky 2 se našlo mnoho efektivních útoků.
Věta 3.3: Ať opět máme pole k charakteristiky != 2. Libovolná křivka E nad tímhle polem k je "biracionálně ekvivalentní" Edwardsově křivce nad polem k právě když obsahuje bod řádu 4. Jinak řečeno, obecná křivka ve Weierstrassově forme je převeditelná na Edwardsovu křivku (tu jednodušší, která je podmnožinou twisted Edwards) tam a zpátky právě když má bod řádu 4 (opět s trochou "šachování s koeficientmi").
Věta 3.4: Ať máme pole k s počtem prvků, kdy po dělení #k/4 zůstatek 3 (#k = 3 mod 4). Pak každá obecná Weiestrassova křivka E nad tímhle polem k je "biracionálně ekvivalentní" Edwardsově křivce nad polem k. Jinak řečeno, obecná křivka ve Weierstrassově forme je převeditelná na Edwardsovu křivku (tu jednodušší, která je podmnožinou twisted Edwards) tam a zpátky právě když počet prvků pole po dělení 4-ma má zbytek 3.
Jak ale uvidíme dále, nemůžeme to zobecnit pro pole, kde po dělení jeho velikosti 4-ma nám zůstane zbytek 1.
Věta 3.5: Ať máme pole k s počtem prvků, kdy po dělení #k/4 zůstatek 1 (#k = 1 mod 4). Nad tímto polem máme obecnou Weierstrassovou křivku E. Zbytek předpokladů si přečtěte v původním zdroji, protože bych sem musel copypastovat hodně kontextu. Hlavní pointa je, že pak právě jeden z dvojice křivka E a její netriviální kvadratický twist je "biracionálně ekvivalentní" s nějakou Edwardsovou křivkou a obsahuje bod řádu 4. Jako příklad je to vidět u Curve41417, kde cofactor křivky je 4 a její twist má cofactor 8. To je rozdíl proti větě 3.4, kde vidíme, že jí nelze generalizovat.
Navíc tato věta je skvělým příkladem neintuitivnosti grup s neprvočíselným řádem. Křivka E i její kvadratický twist obsahují podgrupu izomorfní s Z/2Z ⨯ Z/2Z, neboli F4. Tahle podgrupa má za následek, že cofactor i řád křivky je násobkem 4, ale křivka nebo její twist nemusí obsahovat prvek řádu 4. Totiž Z/2Z ⨯ Z/2Z má 4 prvky (řád grupy 4), ale neobsahuje prvek řádu 4, jenom 1 prvek řádu 1 (identita) a 3 prvky řádu 2.
Zde vidíme, proč Montgomeryho křivky a twisted Edwards křivky nemají prvočíselný řád, ale obsahují typicky bod řádu 4. Není to úplně ideální, ale vyvažuje to jiné implementační nepříjemnosti, a při správném pochopení je jednodušší se bodu s nízkým řádem vyvarovat, než-li vytvářet constant-time algoritmy pro aritmetiku na Weierstrassových křivkách.
Tiskni
Sdílej:
Co dodnes nechápu, jak je možné, že po provedení tohodle útoku stoupla cena ByteCoinu místo aby klesla, a celkem znatelně :D Go figure..."Vykradli mi bitcoiny" - tomu každý rozumí - Bitcoin je špatný, nechi ho "[spousta povídání a technikálií s dost vysokou matematikou]" - eeeeehm?