The attacker chooses a tiny target message that differs by one byte.

highlighted = computed this step

The attacker chooses a nearby message

The original toy message says pay equals 10. The target says pay equals 90.

109010\to90
Choose the targetThe target, attack mask, modified ciphertext, and decrypted result are recomputed.Target plaintext48 bits / 6 bytes0x7061793d3930byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011100100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x39byte-50x30Attack mask48 bits / 6 bytes0x000000000800byte 0byte 1byte 2byte 300000000000000000000000000000000byte 4byte 50000100000000000byte-00x00byte-10x00byte-20x00byte-30x00byte-40x08byte-50x00Modified ciphertext48 bits / 6 bytes0x7f7f5401726abyte 0byte 1byte 2byte 301111111011111110101010000000001byte 4byte 50111001001101010byte-00x7fbyte-10x7fbyte-20x54byte-30x01byte-40x72byte-50x6aDecrypted modified48 bits / 6 bytes0x7061793d3930byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011100100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x39byte-50x30Toy bit flip rows - changed byte 4rowvaluecheckplaintext7061793d3130pinned byteskeystream0f1e2d3c4b5apinned bytesciphertext7f7f54017a6aplaintext xor keystreamtarget plaintext7061793d3930attacker targetattack mask000000000800plaintext xor targetmodified ciphertext7f7f5401726aciphertext xor maskdecrypted modified7061793d3930modified ciphertext xor keystream

Target bytes

The target plaintext bytes are 0x7061793d3930. Only one byte differs from the original.

target=0x7061793d3930\text{target}=0x7061793d3930
Choose the targetThe target, attack mask, modified ciphertext, and decrypted result are recomputed.Target plaintext48 bits / 6 bytes0x7061793d3930byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011100100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x39byte-50x30Attack mask48 bits / 6 bytes0x000000000800byte 0byte 1byte 2byte 300000000000000000000000000000000byte 4byte 50000100000000000byte-00x00byte-10x00byte-20x00byte-30x00byte-40x08byte-50x00Modified ciphertext48 bits / 6 bytes0x7f7f5401726abyte 0byte 1byte 2byte 301111111011111110101010000000001byte 4byte 50111001001101010byte-00x7fbyte-10x7fbyte-20x54byte-30x01byte-40x72byte-50x6aDecrypted modified48 bits / 6 bytes0x7061793d3930byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011100100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x39byte-50x30Toy bit flip rows - changed byte 4rowvaluecheckplaintext7061793d3130pinned byteskeystream0f1e2d3c4b5apinned bytesciphertext7f7f54017a6aplaintext xor keystreamtarget plaintext7061793d3930attacker targetattack mask000000000800plaintext xor targetmodified ciphertext7f7f5401726aciphertext xor maskdecrypted modified7061793d3930modified ciphertext xor keystream

The changed byte

The byte for 1 changes to the byte for 9. In hex, 0x31 changes to 0x39.

0x310x390x31\to0x39
Choose the targetThe target, attack mask, modified ciphertext, and decrypted result are recomputed.Target plaintext48 bits / 6 bytes0x7061793d3930byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011100100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x39byte-50x30Attack mask48 bits / 6 bytes0x000000000800byte 0byte 1byte 2byte 300000000000000000000000000000000byte 4byte 50000100000000000byte-00x00byte-10x00byte-20x00byte-30x00byte-40x08byte-50x00Modified ciphertext48 bits / 6 bytes0x7f7f5401726abyte 0byte 1byte 2byte 301111111011111110101010000000001byte 4byte 50111001001101010byte-00x7fbyte-10x7fbyte-20x54byte-30x01byte-40x72byte-50x6aDecrypted modified48 bits / 6 bytes0x7061793d3930byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011100100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x39byte-50x30Toy bit flip rows - changed byte 4rowvaluecheckplaintext7061793d3130pinned byteskeystream0f1e2d3c4b5apinned bytesciphertext7f7f54017a6aplaintext xor keystreamtarget plaintext7061793d3930attacker targetattack mask000000000800plaintext xor targetmodified ciphertext7f7f5401726aciphertext xor maskdecrypted modified7061793d3930modified ciphertext xor keystream

Summary

The target is exact and small: change pay equals 10 into pay equals 90.

changed bytes=1\text{changed bytes}=1
Choose the targetThe target, attack mask, modified ciphertext, and decrypted result are recomputed.Target plaintext48 bits / 6 bytes0x7061793d3930byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011100100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x39byte-50x30Attack mask48 bits / 6 bytes0x000000000800byte 0byte 1byte 2byte 300000000000000000000000000000000byte 4byte 50000100000000000byte-00x00byte-10x00byte-20x00byte-30x00byte-40x08byte-50x00Modified ciphertext48 bits / 6 bytes0x7f7f5401726abyte 0byte 1byte 2byte 301111111011111110101010000000001byte 4byte 50111001001101010byte-00x7fbyte-10x7fbyte-20x54byte-30x01byte-40x72byte-50x6aDecrypted modified48 bits / 6 bytes0x7061793d3930byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011100100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x39byte-50x30Toy bit flip rows - changed byte 4rowvaluecheckplaintext7061793d3130pinned byteskeystream0f1e2d3c4b5apinned bytesciphertext7f7f54017a6aplaintext xor keystreamtarget plaintext7061793d3930attacker targetattack mask000000000800plaintext xor targetmodified ciphertext7f7f5401726aciphertext xor maskdecrypted modified7061793d3930modified ciphertext xor keystream