Your SlideShare is downloading. ×
Base64 Encoding
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Base64 Encoding

509
views

Published on

Slides for an undergraduate first year presentation on base64.

Slides for an undergraduate first year presentation on base64.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
509
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Base64 Encoding Jonathan Francis Roscoe jjr6@aber.ac.uk
  • 2. Topics of Discussion● Encoding and encryption● What is base64 used for?● Usage of base64 encoding● The algorithm● Drawbacks● Alternatives
  • 3. Encoding and Encryption● People often refer to base64 (and similar methods) as a form of encryption.● Encoding is the process of transforming information from one format into another. – Transfer – Storage – Formating (eg. LaTeX – semantics encoding)● Encryption is a type of encoding that obscures information to make it unreadable without special knowledge.
  • 4. What is base64?● Positional notation – a quadrosexagesimal number system● Numerals 0-9, alphabetical characters a-z and A-Z plus two special characters (all printable ASCII)● VGhlIHF1aWNrIGJyb3duIGZveCByYW4gb3ZlciB0aGUgbGF6eS Bkb2c= Value 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Base64 A B C D E F G H I J K L M N O P Value 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Base64 Q R S T U V W X Y Z a b c d e f Value 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 Base64 g h i j k l m n o p q r s t u v Value 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Base64 w x y z 0 1 2 3 4 5 6 7 8 9 + /
  • 5. What is base64 used for?● “Binary to text” encoding.● Primarily used in SMTP - transfer protocol allows only 7-bit ASCII characters to be used.● Base64 will encode any bit stream as a sequence of 7-bit ASCII characters (ie. Binary data to plaintext).● Multipurpose Internet Mail Extensions● UTF-7● Anti-spam evasion● Binary data embedded in XML
  • 6. The Encoding Algorithm● Binary data is split into groups of 24 bits (3 bytes), then split into 6-bit chunks and converted to the corresponding ASCII characters. Original bit stream 011010110110101001101011 6-bit chunks 011010 110110 101001 101011 Decimal 26 54 41 43 Base64 a2pr
  • 7. The Encoding Algorithm● What if we dont have a multiple of 3 bytes in our bit stream? Original bit stream 01100010011011000111010101100101 Take first 24 bits, 011000 100110 110001 110101 split into 6-bits Decimal 24 38 49 53 Base64 Ymx1
  • 8. The Encoding AlgorithmTake remaining bits 01100101Take first 24 bits, 011001 01xxxx xxxxxx xxxxxxsplit into 6-bitsFill incomplete bits 011001 010000 xxxxxx xxxxxxwith zerosDecimal 25 26Base64, replace ZQ==blank bits with =
  • 9. Other Notes● 33% increase in size● ASCII85, Quoted-printable, 8BITMIME● Privacy-Enhanced Electronic Mail was the first place where base64 was used● Headers usually describe if a message is encoded in base64, it is up to the client to translate

×