795 Followers
38 Following
283 Posts
Ramblings of a programmer and cryptography enthusiast. I hate AI slop. I do stuff… sometimes. Also creating hsmVault.com… eventually.
Blog and stuffhttps://tobtu.com
GitHubhttps://github.com/Sc00bz

NIST is asking for comments on the proposed AES-wGCM - wide GCM mode with Rijndael-256 and 192-bit IV.

https://csrc.nist.gov/pubs/sp/800/38/d/r1/2prd

NIST Special Publication (SP) 800-38D Rev. 1 (Draft), Second Pre-Draft Call for Comments: GCM and GMAC Block Cipher Modes of Operation

N/A

CSRC | NIST
Thus Level=1, GroupCount=0, Group=1, Mask=0x0000000000000001 will happen for the 65th core. Oh if you're wondering why GroupCount=0 even though there's 1. There's a union in the CACHE_RELATIONSHIP struct (https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-cache_relationship). So when it's zero you use GroupMask even though it's the same as GroupCount=1, GroupMasks[0].
CACHE_RELATIONSHIP (winnt.h) - Win32 apps

Describes cache attributes. This structure is used with the GetLogicalProcessorInformationEx function.

I believe the struct GROUP_AFFINITY (https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-group_affinity) is a sparse array for the array "Masks" which is has a bit for every core. Thus is {Mask=Masks[i], Group=i}. I'm trying to confirm or deny this.
GROUP_AFFINITY (winnt.h) - Win32 apps

Represents a processor group-specific affinity, such as the affinity of a thread.

You'll need Visual Studio (others might work but I know MinGW-w64 doesn't have GetLogicalProcessorInformationEx in their windows.h), create an empty c++ project, add main.cpp, run (64 bit. There's a bug in Windows, according to documentation, where a 32 bit program will do 1 << (x % 32) instead of UINT64_C(1) << x when setting the masks).
Can someone with a Windows computer with more than 64 cores run this https://gist.github.com/Sc00bz/448af736cc57d1396fcf2538d431739c.
Get CPU cache info for Windows

Get CPU cache info for Windows. GitHub Gist: instantly share code, notes, and snippets.

Gist
What kind of asshole reacts to this with a middle finger emoji?
@jerry I'm sorry for that person. The overwhelming majority of us love you.
We are in the middle of the end game theory of society. #fridayThe13th

I just learned that JS has the exponential operation **:
Math.pow(a, b) == a ** b

I remember when I was like fuck it "a ^ b" in Excel and was like wait that worked? This is that moment for me but for JS. I remember having Excel 97 and Excel XP (or 2003). I assume 97 didn't have ^ but XP (or 2003) did... I'm not old you're old.

I was looking at the RWC2026 talks and saw "XHMQV: Better Efficiency and Stronger Security for Signal's Initial Handshake based on HMQV". DuckDuckGo didn't find anything on XHMQV. So I tried Google. (edit: I mistyped XH*MQ*V as XH*QM*V)

Or just recreate these with better settings and have it take ~43 days on an RTX 4090. 96% success rate, 2 perfect tables, 942651571967 chains/table (before perfecting), chain length of 630000, <3 TB (RTI2), 6 steps. These are twice as fast to use too.

OK or ~100 days on an RTX 4090. 99.9% success rate, 4 perfect tables, 1265875614643 chains/table (before perfecting), chain length of 720000, 3.95 TB (DIRT) (or 5.56 TB (RTI2)), 10 steps. These take 1.443x longer to use but if you only use 2 tables it's 1.386x faster and higher success rate 96.84% (vs 94.75%).