Encrypting then Base64 Encoding












3















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?










share|improve this question























  • 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
















3















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?










share|improve this question























  • 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














3












3








3








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?










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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



















  • 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










2 Answers
2






active

oldest

votes


















1














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.






share|improve this answer

































    1














    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.






    share|improve this answer























      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
      });


      }
      });














      draft saved

      draft discarded


















      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









      1














      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.






      share|improve this answer






























        1














        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.






        share|improve this answer




























          1












          1








          1







          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.






          share|improve this answer















          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.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 4 hours ago

























          answered 4 hours ago









          Mike76Mike76

          15119




          15119

























              1














              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.






              share|improve this answer




























                1














                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.






                share|improve this answer


























                  1












                  1








                  1







                  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.






                  share|improve this answer













                  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.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 49 mins ago









                  gowenfawrgowenfawr

                  53.7k11114159




                  53.7k11114159






























                      draft saved

                      draft discarded




















































                      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.




                      draft saved


                      draft discarded














                      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





















































                      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







                      Popular posts from this blog

                      Accessing regular linux commands in Huawei's Dopra Linux

                      Can't connect RFCOMM socket: Host is down

                      Kernel panic - not syncing: Fatal Exception in Interrupt