Encrypting then Base64 EncodingCompute the AES-encryption key given the plaintext and its ciphertext?Base64 conversion for byte array in encryptionCBC-R Cookie EncryptionSecurity Implications of using Base64 Encoding with EncryptionHow strong is a simple XOR encryption with random IV?Is it possible to construct a specific AES collision?What CryptoPP APIs Output Round By Round Results for AES Encryption/Decryption?Is encrypting a CRC with the plaintext ok?AES-CBC then SHA vs AES-GCM for encrypting and authenticating a web tokenGeneral Purpose Hybrid Encryption File Format
Official degrees of earth’s rotation per day
What's the meaning of a knight fighting a snail in medieval book illustrations?
Are ETF trackers fundamentally better than individual stocks?
A single argument pattern definition applies to multiple-argument patterns?
Simplify an interface for flexibly applying rules to periods of time
New passport but visa is in old (lost) passport
How to get the n-th line after a grepped one?
How difficult is it to simply disable/disengage the MCAS on Boeing 737 Max 8 & 9 Aircraft?
Knife as defense against stray dogs
Fastest way to pop N items from a large dict
What are substitutions for coconut in curry?
Does multi-classing into Fighter give you heavy armor proficiency?
Is "upgrade" the right word to use in this context?
How to write cleanly even if my character uses expletive language?
How are passwords stolen from companies if they only store hashes?
Is it good practice to use Linear Least-Squares with SMA?
PTIJ: Who should I vote for? (21st Knesset Edition)
Could this Scherzo by Beethoven be considered to be a fugue?
What exactly is this small puffer fish doing and how did it manage to accomplish such a feat?
Happy pi day, everyone!
Do I need life insurance if I can cover my own funeral costs?
Custom alignment for GeoMarkers
What did “the good wine” (τὸν καλὸν οἶνον) mean in John 2:10?
Why is the President allowed to veto a cancellation of emergency powers?
Encrypting then Base64 Encoding
Compute the AES-encryption key given the plaintext and its ciphertext?Base64 conversion for byte array in encryptionCBC-R Cookie EncryptionSecurity Implications of using Base64 Encoding with EncryptionHow strong is a simple XOR encryption with random IV?Is it possible to construct a specific AES collision?What CryptoPP APIs Output Round By Round Results for AES Encryption/Decryption?Is encrypting a CRC with the plaintext ok?AES-CBC then SHA vs AES-GCM for encrypting and authenticating a web tokenGeneral Purpose Hybrid Encryption File Format
I notice online encryption tools encrypt the plaintext and output the ciphertext in base64 format. Why is ciphertext outputted in base64 format? Can the ciphertext be outputted in binary format?
encryption cryptography
add a comment |
I notice online encryption tools encrypt the plaintext and output the ciphertext in base64 format. Why is ciphertext outputted in base64 format? Can the ciphertext be outputted in binary format?
encryption cryptography
You can translate that data into any base, it just happens that Base64 is well suited for the web; it's composed of characters that are safe to use in URLs.
– meagar
4 hours ago
add a comment |
I notice online encryption tools encrypt the plaintext and output the ciphertext in base64 format. Why is ciphertext outputted in base64 format? Can the ciphertext be outputted in binary format?
encryption cryptography
I notice online encryption tools encrypt the plaintext and output the ciphertext in base64 format. Why is ciphertext outputted in base64 format? Can the ciphertext be outputted in binary format?
encryption cryptography
encryption cryptography
asked 5 hours ago
Angela LipfordAngela Lipford
282
282
You can translate that data into any base, it just happens that Base64 is well suited for the web; it's composed of characters that are safe to use in URLs.
– meagar
4 hours ago
add a comment |
You can translate that data into any base, it just happens that Base64 is well suited for the web; it's composed of characters that are safe to use in URLs.
– meagar
4 hours ago
You can translate that data into any base, it just happens that Base64 is well suited for the web; it's composed of characters that are safe to use in URLs.
– meagar
4 hours ago
You can translate that data into any base, it just happens that Base64 is well suited for the web; it's composed of characters that are safe to use in URLs.
– meagar
4 hours ago
add a comment |
2 Answers
2
active
oldest
votes
A web browser has to print a visual representation of the binary data. The usual visual representation of binary data is the hexadecimal notation.
Now observe: The space overhead of hex-encoded data is factor 2 (we need 2 ascii characters for one byte).
The space overhead of base64-encoded data is only 1.33, making it more space-efficient than hex-encoded data.
Moreover, I suspect that the tool support for base64-encoded data is at least as good as for hex-encoded data.
For instance, you can copy-paste a base64-encoded ciphertext directly into a PEM file.
add a comment |
Ciphertext can be output in binary format. For example, gpg defaults to binary format, and you need to specify --armor
to make it base64:
--armor
-a
Create ASCII armored output. The default is to create the binary OpenPGP format.
The reason you see ASCII/base64 more often is that it is easier to transfer and manipulate than binary. SMTP email, for example, cannot handle binary data without encoding it, so having a non-binary format makes it simpler to email encrypted text. FTP may default to non-binary mode which will introduce errors when transferring a binary file. Even something as simple as popping open a file in an editor to make sure it "looks like it's there" is easier with non-binary formats.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "162"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsecurity.stackexchange.com%2fquestions%2f205536%2fencrypting-then-base64-encoding%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
A web browser has to print a visual representation of the binary data. The usual visual representation of binary data is the hexadecimal notation.
Now observe: The space overhead of hex-encoded data is factor 2 (we need 2 ascii characters for one byte).
The space overhead of base64-encoded data is only 1.33, making it more space-efficient than hex-encoded data.
Moreover, I suspect that the tool support for base64-encoded data is at least as good as for hex-encoded data.
For instance, you can copy-paste a base64-encoded ciphertext directly into a PEM file.
add a comment |
A web browser has to print a visual representation of the binary data. The usual visual representation of binary data is the hexadecimal notation.
Now observe: The space overhead of hex-encoded data is factor 2 (we need 2 ascii characters for one byte).
The space overhead of base64-encoded data is only 1.33, making it more space-efficient than hex-encoded data.
Moreover, I suspect that the tool support for base64-encoded data is at least as good as for hex-encoded data.
For instance, you can copy-paste a base64-encoded ciphertext directly into a PEM file.
add a comment |
A web browser has to print a visual representation of the binary data. The usual visual representation of binary data is the hexadecimal notation.
Now observe: The space overhead of hex-encoded data is factor 2 (we need 2 ascii characters for one byte).
The space overhead of base64-encoded data is only 1.33, making it more space-efficient than hex-encoded data.
Moreover, I suspect that the tool support for base64-encoded data is at least as good as for hex-encoded data.
For instance, you can copy-paste a base64-encoded ciphertext directly into a PEM file.
A web browser has to print a visual representation of the binary data. The usual visual representation of binary data is the hexadecimal notation.
Now observe: The space overhead of hex-encoded data is factor 2 (we need 2 ascii characters for one byte).
The space overhead of base64-encoded data is only 1.33, making it more space-efficient than hex-encoded data.
Moreover, I suspect that the tool support for base64-encoded data is at least as good as for hex-encoded data.
For instance, you can copy-paste a base64-encoded ciphertext directly into a PEM file.
edited 4 hours ago
answered 4 hours ago
Mike76Mike76
15119
15119
add a comment |
add a comment |
Ciphertext can be output in binary format. For example, gpg defaults to binary format, and you need to specify --armor
to make it base64:
--armor
-a
Create ASCII armored output. The default is to create the binary OpenPGP format.
The reason you see ASCII/base64 more often is that it is easier to transfer and manipulate than binary. SMTP email, for example, cannot handle binary data without encoding it, so having a non-binary format makes it simpler to email encrypted text. FTP may default to non-binary mode which will introduce errors when transferring a binary file. Even something as simple as popping open a file in an editor to make sure it "looks like it's there" is easier with non-binary formats.
add a comment |
Ciphertext can be output in binary format. For example, gpg defaults to binary format, and you need to specify --armor
to make it base64:
--armor
-a
Create ASCII armored output. The default is to create the binary OpenPGP format.
The reason you see ASCII/base64 more often is that it is easier to transfer and manipulate than binary. SMTP email, for example, cannot handle binary data without encoding it, so having a non-binary format makes it simpler to email encrypted text. FTP may default to non-binary mode which will introduce errors when transferring a binary file. Even something as simple as popping open a file in an editor to make sure it "looks like it's there" is easier with non-binary formats.
add a comment |
Ciphertext can be output in binary format. For example, gpg defaults to binary format, and you need to specify --armor
to make it base64:
--armor
-a
Create ASCII armored output. The default is to create the binary OpenPGP format.
The reason you see ASCII/base64 more often is that it is easier to transfer and manipulate than binary. SMTP email, for example, cannot handle binary data without encoding it, so having a non-binary format makes it simpler to email encrypted text. FTP may default to non-binary mode which will introduce errors when transferring a binary file. Even something as simple as popping open a file in an editor to make sure it "looks like it's there" is easier with non-binary formats.
Ciphertext can be output in binary format. For example, gpg defaults to binary format, and you need to specify --armor
to make it base64:
--armor
-a
Create ASCII armored output. The default is to create the binary OpenPGP format.
The reason you see ASCII/base64 more often is that it is easier to transfer and manipulate than binary. SMTP email, for example, cannot handle binary data without encoding it, so having a non-binary format makes it simpler to email encrypted text. FTP may default to non-binary mode which will introduce errors when transferring a binary file. Even something as simple as popping open a file in an editor to make sure it "looks like it's there" is easier with non-binary formats.
answered 49 mins ago
gowenfawrgowenfawr
53.7k11114159
53.7k11114159
add a comment |
add a comment |
Thanks for contributing an answer to Information Security Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsecurity.stackexchange.com%2fquestions%2f205536%2fencrypting-then-base64-encoding%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You can translate that data into any base, it just happens that Base64 is well suited for the web; it's composed of characters that are safe to use in URLs.
– meagar
4 hours ago