Update README.md

This commit is contained in:
Andrew 2023-05-28 14:22:39 +03:00 committed by GitHub
parent 3d29ee31b5
commit 5a3105ecbd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 5 deletions

View File

@ -68,15 +68,13 @@ Based on that calculation, we unpack the 114-bit Product Key into 4 ordered segm
| Segment | Capacity | Data | | Segment | Capacity | Data |
|-----------|----------|-------------------------------------------| |-----------|----------|-------------------------------------------|
| Flag | 1 bit | Reserved, always set to `0x01`* | | Upgrade | 1 bit | Upgrade version flag |
| Serial | 30 bits | Raw Product Key (RPK) | | Serial | 30 bits | Raw Product Key (RPK) |
| Hash | 28 bits | RPK hash | | Hash | 28 bits | RPK hash |
| Signature | 55 bits | Elliptic Curve signature for the RPK hash | | Signature | 55 bits | Elliptic Curve signature for the RPK hash |
For simplicity' sake, we'll combine `Flag` and `Serial` segments into a single segment called `Data`. By that logic we'll be able to extract the RPK by For simplicity' sake, we'll combine `Upgrade` and `Serial` segments into a single segment called `Data`. By that logic we'll be able to extract the RPK by
shifting `Data` right and pack it back by shifting bits left. shifting `Data` right and pack it back by shifting bits left, because most a priori valid product keys I've checked had the Upgrade bit set to 1.
*It's not fully known what that bit does, but all a priori valid product keys I've checked had it set to 1.
### Elliptic Curves ### Elliptic Curves