Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. .NET (Core and Framework)
  4. Cryptography - Substitution Cipher Question

Cryptography - Substitution Cipher Question

Scheduled Pinned Locked Moved .NET (Core and Framework)
securityquestioncssjsontutorial
4 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Y Offline
    Y Offline
    YSLGuru
    wrote on last edited by
    #1

    Please let me know if this is not the correct location in the boards for this post. I did not see a section for cryptography or for Security. A piece of accounting software we use that is for a vertical industry use to store our users passwords in a RDBMS as plain text. They did use a substitution cipher so the password was encrypted at a very basic level. They also used a location specif substitution. I don;t know if that is the correct term for this type of substitution cipher but its where the letter you replace changes based on the original character and its position within the encrypted text. For example if the password was password then the text stored might be h^e)7ght . Even though the s is listed twice its substituted text is different because the first instance is in the 3rd position and the next is in the fourth position. The substituted character was always the same based on original character value plus its postilion so the lower case s was always stored as a lower case e when it was in the third potion of any users password. I hope that properly conveys the encryption method the software used and if there is a proper term for this kind of substitution cipher please post and let me know. With the most recent update the software vendor has moved to a more complex encryption method and I'm puzzled by it because the encrypted text consist of fewer characters then its source. For example if the password is password then the encrypted text consists of 64 characters. If the password is paswordpasswordpassword the encrypted text is 64 characters long. I assume that when the password is less then 64 characters then the process is padding the rest. What puzzles me is when we use a password that is greater then 64 characters in length. If i create a password that consist of 70 characters the encrypted text is still only 64 characters in length. I'm new to this so this may be a dumb question but how can you use fewer characters then the source text you are encrypting?

    OriginalGriffO L 3 Replies Last reply
    0
    • Y YSLGuru

      Please let me know if this is not the correct location in the boards for this post. I did not see a section for cryptography or for Security. A piece of accounting software we use that is for a vertical industry use to store our users passwords in a RDBMS as plain text. They did use a substitution cipher so the password was encrypted at a very basic level. They also used a location specif substitution. I don;t know if that is the correct term for this type of substitution cipher but its where the letter you replace changes based on the original character and its position within the encrypted text. For example if the password was password then the text stored might be h^e)7ght . Even though the s is listed twice its substituted text is different because the first instance is in the 3rd position and the next is in the fourth position. The substituted character was always the same based on original character value plus its postilion so the lower case s was always stored as a lower case e when it was in the third potion of any users password. I hope that properly conveys the encryption method the software used and if there is a proper term for this kind of substitution cipher please post and let me know. With the most recent update the software vendor has moved to a more complex encryption method and I'm puzzled by it because the encrypted text consist of fewer characters then its source. For example if the password is password then the encrypted text consists of 64 characters. If the password is paswordpasswordpassword the encrypted text is 64 characters long. I assume that when the password is less then 64 characters then the process is padding the rest. What puzzles me is when we use a password that is greater then 64 characters in length. If i create a password that consist of 70 characters the encrypted text is still only 64 characters in length. I'm new to this so this may be a dumb question but how can you use fewer characters then the source text you are encrypting?

      OriginalGriffO Offline
      OriginalGriffO Offline
      OriginalGriff
      wrote on last edited by
      #2

      Simple: they have found that they have a legal responsibility to secure password storage, and realised that a substitution cipher (or any form of encryption) is fundamentally in secure. So instead, they are using a hashing algorithm, which cannot be reversed and which always generates a result that is the same length, in your case 64 bytes. (which would imply SHA-512).

      Sent from my Amstrad PC 1640 Never throw anything away, Griff Bad command or file name. Bad, bad command! Sit! Stay! Staaaay... AntiTwitter: @DalekDave is now a follower!

      "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
      "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

      1 Reply Last reply
      0
      • Y YSLGuru

        Please let me know if this is not the correct location in the boards for this post. I did not see a section for cryptography or for Security. A piece of accounting software we use that is for a vertical industry use to store our users passwords in a RDBMS as plain text. They did use a substitution cipher so the password was encrypted at a very basic level. They also used a location specif substitution. I don;t know if that is the correct term for this type of substitution cipher but its where the letter you replace changes based on the original character and its position within the encrypted text. For example if the password was password then the text stored might be h^e)7ght . Even though the s is listed twice its substituted text is different because the first instance is in the 3rd position and the next is in the fourth position. The substituted character was always the same based on original character value plus its postilion so the lower case s was always stored as a lower case e when it was in the third potion of any users password. I hope that properly conveys the encryption method the software used and if there is a proper term for this kind of substitution cipher please post and let me know. With the most recent update the software vendor has moved to a more complex encryption method and I'm puzzled by it because the encrypted text consist of fewer characters then its source. For example if the password is password then the encrypted text consists of 64 characters. If the password is paswordpasswordpassword the encrypted text is 64 characters long. I assume that when the password is less then 64 characters then the process is padding the rest. What puzzles me is when we use a password that is greater then 64 characters in length. If i create a password that consist of 70 characters the encrypted text is still only 64 characters in length. I'm new to this so this may be a dumb question but how can you use fewer characters then the source text you are encrypting?

        OriginalGriffO Offline
        OriginalGriffO Offline
        OriginalGriff
        wrote on last edited by
        #3

        Just to add some background: Have a look here: Password Storage: How to do it.[^] - it explains why hashing and salting are used instead of encryption. And remember: if an app has any European Union users then GDPR applies and that means you need to handle passwords as sensitive data and stored them in a safe and secure manner. Text is neither of those and the fines can be .... um ... outstanding. In December 2018 a German company received a relatively low fine of €20,000 for just that.

        Sent from my Amstrad PC 1640 Never throw anything away, Griff Bad command or file name. Bad, bad command! Sit! Stay! Staaaay... AntiTwitter: @DalekDave is now a follower!

        "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
        "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

        1 Reply Last reply
        0
        • Y YSLGuru

          Please let me know if this is not the correct location in the boards for this post. I did not see a section for cryptography or for Security. A piece of accounting software we use that is for a vertical industry use to store our users passwords in a RDBMS as plain text. They did use a substitution cipher so the password was encrypted at a very basic level. They also used a location specif substitution. I don;t know if that is the correct term for this type of substitution cipher but its where the letter you replace changes based on the original character and its position within the encrypted text. For example if the password was password then the text stored might be h^e)7ght . Even though the s is listed twice its substituted text is different because the first instance is in the 3rd position and the next is in the fourth position. The substituted character was always the same based on original character value plus its postilion so the lower case s was always stored as a lower case e when it was in the third potion of any users password. I hope that properly conveys the encryption method the software used and if there is a proper term for this kind of substitution cipher please post and let me know. With the most recent update the software vendor has moved to a more complex encryption method and I'm puzzled by it because the encrypted text consist of fewer characters then its source. For example if the password is password then the encrypted text consists of 64 characters. If the password is paswordpasswordpassword the encrypted text is 64 characters long. I assume that when the password is less then 64 characters then the process is padding the rest. What puzzles me is when we use a password that is greater then 64 characters in length. If i create a password that consist of 70 characters the encrypted text is still only 64 characters in length. I'm new to this so this may be a dumb question but how can you use fewer characters then the source text you are encrypting?

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #4

          pen and paper - Is there a simple hash function that one can compute without a computer? - Cryptography Stack Exchange[^] Second answer has an example that explains the concept :)

          Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups