One-time pad encoder/decoder and key generator |
Settings | Remark |
Message / cipher |
If conversion method "Encrypt" is selected, enter a message in the input box. You can enter any language, e.g.: English, Chinese, Russian etc. All texts are considered UTF-8 encoded. UTF-8 is a multibyte encoding that can represent any Unicode character in 1 to 4 bytes.
The Unicode for this character is: U+9F99 and will take up 3 bytes. The English word "dragon" consists of 6 ASCII characters, thus total 6 bytes. Each character in a message will be converted into a hexadecimal value: The Chinese character for "dragon": e9be99 (hex) The English word "dragon": 647261676f6e (hex) To encrypt the word "dragon" you need two one-time pads. A one-time pad to encrypt/decrypt the Chines word "dragon", for example: 402129 and a one-time pad to encrypt/decrypt the English word "dragon", for example: 07ba6eeedbdc Encrypt Chinese character for "dragon": message: e9be99 one-time pad: 402129 ------- xor cipher: a99fb0 Encrypt English word "dragon": message: 647261676f6e one-time pad: 07ba6eeedbdc ------------- xor cipher: 63c80f89b4b2Each time a message is encrypted always use a different one-time pad. NEVER RE-USE A ONE-TIME PAD! If conversion method "Decrypt" is selected, enter a cipher text in the input box. The cipher text must be hexadecimal value and may contain a prefix followed by a colon, for example: 020:3184e64dddfa25059c557d The one-time pad must be hexadecimal value and may contain a prefix followed by a colon, for example: 020:79e18a21b2da726aee3919 In this example, the prefix "020" in the cipher text helps the recipient which one-time pad should be used to decrypt the the cipher text. The recipient may have a large list of one-time pads, for example: : 019:2c136dad25949e1a6020d3 020:79e18a21b2da726aee3919 021:ac5371279e30ed4959cf8a 022:22237fbf0543eaa131718d 023:c0ea8ff4092664eb74d854 024:4671157d97ea84c8df9e2c 025:b90a68251c1e1037311de2 026:c40f71a6956b85dbe75d71 : You can omit the prefix and colon in the cipher text and/or one-time pad (both are not used for actual decoding) as long as the recipient of the cipher text knows which one-time pad must be used to decode the cipher. Decrypt a cipher text: cipher: 3184e64dddfa25059c557d one-time pad: 79e18a21b2da726aee3919 ---------------------- xor message: 48656c6c6f20576f726c64 message in UTF-8: Hello World |