Category:Encryption/add-sub
Jump to navigation
Jump to search
You are here | add & sub
|
Description
- add and sub state for addition and substraction
- add and sub are not reversible. They need to be used in tandem (one to encode and the other to decode).
Example
Asssembly
add byte ptr [edx], 0xa3
sub byte ptr [edx], 0xbc
cmp byte ptr [edx], 0x7d
Reversing
ENCODING DECODING ┌─────────────────┐ ┌─────────────────┐ │ initial letter? │ │ p │ └─────────────────┘ └─────────────────┘ │ ord(letter) ▲ ▼ │ chr(112 % 256) ┌─────────────────┐ ┌─────────────────┐ │ initial ordinal │ │ 112 │ └─────────────────┘ └─────────────────┘ │ add 0xa3 ▲ ▼ │ sub 0xa3 ┌─────────────────┐ ┌─────────────────┐ │ initial value? │ │ 275 │ └─────────────────┘ └─────────────────┘ │ sub 0xbc ▲ ▼ │ add 0xbc ┌─────────────────┐ ┌─────────────────┐ │ result = 0x57 │ ───► │ 0x57 │ └─────────────────┘ └─────────────────┘
The decryption can be performed in python as follows:
>>> chr((0x57 + 0xbc - 0xa3) % 256) 'p'
Pages in category "Encryption/add-sub"
The following 4 pages are in this category, out of 4 total.