Answers.Body: <p>I am a preschool teacher and a former CS/IT worker. Yes, you can teach CS to preschoolers. It is a part of the Digital Citizen lesson planning that is common across the board. I would say use colors and simple numbers/letters.</p>
  <p>Ex- Red and Blue make Purple, Uppercase and Lowercase letters, ect.
  Making a game out of it using their bodies instead is the easiest way. That way you can &quot;show&quot; the CS skills happening in real-time and they really are learning it. Sounds odd, sure but trust when they get to Kindergarten it will show that they did learn it!! Kudos to you for implementing it!!</p>
  <p>Red - Jump
  A- Turn Right
  Blue - Spin
  B - Turn Left</p>
  <p>Hopefully, this is making sense!! Preschoolers do code for whoever said no. It is clear that this question is hard if you are not in the classroom directly. I have done this before and trust me when I say make it BIG! So they can see the coding happening on the ground. Preschool and Tech are my little niche as most PK teachers hate &quot;screen time&quot; or anything to do with tech in the classroom because they are choosing to not figure it out.</p>
  <p>Resources Below for verification:
  <a href="https://k12cs.org/pre-k/" rel="nofollow noreferrer">https://k12cs.org/pre-k/</a></p>
  <p>Hope that helps!!</p>
  <p>Play is the work of the Child!
  -Teacher Kelly</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-07-06T12:26:47.597Z
Answers.Text: This is exactly the sort of answer that this site exists for. Fantastic!
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-07-05T15:16:57.837Z
Answers.LastActivityDate: 2023-07-05T15:16:57.837Z
Answers.UserDisplayName: KHailey
Answers.Body: <p>Pick your first word from the sentence to hash.
  Look it up in a dictionary and write down the first word of the description.
  Pick the next word and look it up. Write down the second word from the description.
  Do this repeatedly and wrapping around from start to finish of the description as many times as necessary depending on the position of the word.</p>
  
  <p>A weak hash function for text.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-09T21:42:52.933Z
Answers.LastActivityDate: 2018-03-09T21:42:52.933Z
Answers.UserDisplayName: Sentinel
Answers.Body: <p>If all you want is a simple hash function you could do something like this. 
  First take your original message and apply something like <a href="https://en.wikipedia.org/wiki/ROT13" rel="nofollow noreferrer">ROT 13</a> to it. This gives a reversible cipher, of course. Then give each letter a number, say N = 1, O = 2, etc, wrapping after Z. Next, just add up all of those values. It is no longer a reversible cipher, but a hash. To get it to be fixed length, simply pad or truncate it to, say, five digits. </p>
  
  <p>Pretty bad cryptography, of course, but simple enough if the students can count and add. </p>
  
  <p>The use in a blockchain is up to you. </p>
  
  <p>This hash has the features described here: <a href="https://en.wikipedia.org/wiki/Cryptographic_hash_function" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Cryptographic_hash_function</a>, but they aren't very strong, of course. </p>
  
  <p>Fixed Length<br>
  Deterministic<br>
  Easy to Compute<br>
  Infeasible to Reverse<br>
  Change in the Message changes the Hash (not a lot, though)<br>
  Infeasible to Generate a false message with the same Hash (maybe). </p>
  
  <p>Call it the puppy-1 hash function if you like. </p>
  
  <p>And of course ROT-13, like the <a href="https://en.wikipedia.org/wiki/Caesar_cipher" rel="nofollow noreferrer">Caesar Cipher</a>, has some historical interest. </p>
  
  <hr>
  
  <p>In the first part, ignore case, punctuation, spaces, etc., which isn't sufficient in general, but should be for this use. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-08T11:10:43.160Z
Answers.Text: I'm not sure that addition is a reasonable assumption for the pre-school set, though this would be great in middle or upper elementary school!
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-08T19:00:43.197Z
Answers.Text: ROT13 popped into my head when I read the question.
Answers.UserDisplayName: Guy Coder
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-07T20:29:36.133Z
Answers.LastActivityDate: 2018-03-07T20:29:36.133Z
Answers.UserDisplayName: Buffy
Answers.Body: <p>A simple hash algorithm is modulo or remainder (they are the same for positive numbers). You only need be able to count.</p>
  
  <p>To calculate $n$ modulo $m$, take $m$ empty pots, and $n$ marbles. Place one marble in front of each pot, then put the marbles in the pots, and repeat until you do not have enough marble for each pot, count the marbles that are in-front of the pots (that is the answer).</p>
  
  <p>In is <strong>not</strong> a cryptographic hash, but it is a hash. I doubt that you will be able to do a crypto hash at this age.</p>
  
  <p>Another algorithm, would be horizontal and vertical parity. (not very hashy, but related) see CS unplugged. <a href="https://www.youtube.com/watch?time_continue=210&amp;v=FnwBratAhfg" rel="nofollow noreferrer">https://www.youtube.com/watch?time_continue=210&amp;v=FnwBratAhfg</a> and <a href="https://csunplugged.org/en/topics/error-detection-and-correction/" rel="nofollow noreferrer">https://csunplugged.org/en/topics/error-detection-and-correction/</a> </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-07T19:21:46.657Z
Answers.LastActivityDate: 2018-03-07T19:21:46.657Z
Answers.UserDisplayName: ctrl-alt-delor
Answers.Body: <p>You asked,</p>
  <blockquote>
  <p>Does there exist a pencil &amp; paper activity involving blockchain ciphers which is suitable for preschoolers?</p>
  </blockquote>
  <p>The answer is <strong>no</strong>. However, you might be able to teach such things to children who like math or science in middle school (American grades 6, 7, &amp; 8). If you re-ask your question, but use the phrase &quot;children 12 years of age and older&quot; you might get better quality answers.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-06-05T21:02:58.553Z
Answers.Text: This is the right answer. In pre-k, students are learning letters (but not necessarily reading yet), colors, patterns such as red-blue-red-blue-red-blue, the seasons and the days of the week.  While there may be some among them who can read, you're really more likely to get that reliably in first grade, and reliably in second.
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-06-05T18:00:24.750Z
Answers.LastActivityDate: 2023-06-05T18:00:24.750Z
Answers.UserDisplayName: Samuel Muldoon
Body: <p>Is there a <a href="https://en.wikipedia.org/wiki/Cryptographic_hash_function" rel="nofollow noreferrer">cryptographic hash function</a> that well suited for preschool-aged children to work out on pencil and paper, to learn concepts of block chains?</p>
  <p>It must have the following requirements:</p>
  <ol>
  <li>Able to be easily verified</li>
  <li>Able to be easily calculated with pencil and paper</li>
  <li>Able to link to previous result, to create blockchain</li>
  </ol>
  <p>The function may be low-complexity. It does not matter if the function is easily broken.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-07T02:58:53.873Z
Comments.Text: Can you provide some further context? Without more context, this question is pretty broad and hard to answer well.
Comments.UserDisplayName: thesecretmaster
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-07T03:09:12.463Z
Comments.Text: I have a 4 year old and this seems rather ambitious, but I commend the effort!
Comments.UserDisplayName: Jed Schneider
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-07T09:33:05.740Z
Comments.Text: Pre-school meaning that they're just learning to hand-write letters, and can't reliably read words?
Comments.UserDisplayName: Ben I.
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-07T09:34:58.660Z
Comments.Text: This is a really interesting question.
Comments.UserDisplayName: Ben I.
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-07T14:08:57.787Z
Comments.Text: @BenI. yes, exactly
Comments.UserDisplayName: Aaron Thomas
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-07T19:04:09.827Z
Comments.Text: I recommend the following textbook: https://www.amazon.ca/Peek-Boo-Friends-Parragon-Books/dp/1472305922/ While not explicitly a text on cryptographic hash functions, it can demonstrate the concept of a blockchain to preschoolers. Each page has a window back to the previous page, and forward to the next page, these windows allow verification that the current page indeed follows the previous, allowing the student an early appreciation for blockchain suitable for a preschooler.
Comments.UserDisplayName: Gorchestopher H
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-07T19:12:10.293Z
Comments.Text: I don't thing that hashing and block chains are the same thing, however block chains will use hashes.
Comments.UserDisplayName: ctrl-alt-delor
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-08T12:03:23.320Z
Comments.Text: I'm sticking with my textbook recommendation. Perhaps the author will consider re-titling it "A Course in Pre-Blockchain Theory for Toddlers".
Comments.UserDisplayName: Gorchestopher H
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-12T02:45:06.497Z
Comments.Text: Are preschoolers really going to understand any math you show them? In my memory, they barely even know about numbers at that age. You'd probably have to go to a physical analogy if you wanted the kids to understand. Would that be reasonable to you, given that you did specifically ask for a hash function?
Comments.UserDisplayName: Justin
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-06-06T10:06:08.433Z
Comments.Text: Why do you think that teaching blockchains to young children might be a good idea?
Comments.UserDisplayName: Bruno
Tags: <resource-request><cryptography><preschool>
Title: Blockchain cipher suitable for preschoolers
ThreadText: # Blockchain cipher suitable for preschoolers
  
  (Asked by: username_0 on 2018-03-07)
  
  Is there a [cryptographic hash function](https://en.wikipedia.org/wiki/Cryptographic_hash_function) that well suited for preschool-aged children to work out on pencil and paper, to learn concepts of block chains?
  
  It must have the following requirements:
  
  1. Able to be easily verified
  2. Able to be easily calculated with pencil and paper
  3. Able to link to previous result, to create blockchain
  
  The function may be low-complexity. It does not matter if the function is easily broken.
  
  **Tags:** resource-request, cryptography, preschool
  
  > **Comments:**
  > **username_1**: Can you provide some further context? Without more context, this question is pretty broad and hard to answer well.  
  > **username_2**: I have a 4 year old and this seems rather ambitious, but I commend the effort!  
  > **username_3**: Pre-school meaning that they're just learning to hand-write letters, and can't reliably read words?  
  > **username_3**: This is a really interesting question.  
  > **username_0**: @BenI. yes, exactly  
  > **username_4**: I recommend the following textbook: https://www.amazon.ca/Peek-Boo-Friends-Parragon-Books/dp/1472305922/ While not explicitly a text on cryptographic hash functions, it can demonstrate the concept of a blockchain to preschoolers. Each page has a window back to the previous page, and forward to the next page, these windows allow verification that the current page indeed follows the previous, allowing the student an early appreciation for blockchain suitable for a preschooler.  
  > **username_5**: I don't thing that hashing and block chains are the same thing, however block chains will use hashes.  
  > **username_4**: I'm sticking with my textbook recommendation. Perhaps the author will consider re-titling it "A Course in Pre-Blockchain Theory for Toddlers".  
  > **username_6**: Are preschoolers really going to understand any math you show them? In my memory, they barely even know about numbers at that age. You'd probably have to go to a physical analogy if you wanted the kids to understand. Would that be reasonable to you, given that you did specifically ask for a hash function?  
  > **username_7**: Why do you think that teaching blockchains to young children might be a good idea?  
  
  ---
  
  ## 5 answers
  
  ### Answer by username_10 on 2018-03-07. Score: 4
  
  If all you want is a simple hash function you could do something like this.
  First take your original message and apply something like [ROT 13](https://en.wikipedia.org/wiki/ROT13) to it. This gives a reversible cipher, of course. Then give each letter a number, say N = 1, O = 2, etc, wrapping after Z. Next, just add up all of those values. It is no longer a reversible cipher, but a hash. To get it to be fixed length, simply pad or truncate it to, say, five digits.
  
  Pretty bad cryptography, of course, but simple enough if the students can count and add.
  
  The use in a blockchain is up to you.
  
  This hash has the features described here: <https://en.wikipedia.org/wiki/Cryptographic_hash_function>, but they aren't very strong, of course.
  
  Fixed Length  
  Deterministic  
  Easy to Compute  
  Infeasible to Reverse  
  Change in the Message changes the Hash (not a lot, though)  
  Infeasible to Generate a false message with the same Hash (maybe).
  
  Call it the puppy-1 hash function if you like.
  
  And of course ROT-13, like the [Caesar Cipher](https://en.wikipedia.org/wiki/Caesar_cipher), has some historical interest.
  
  ---
  
  In the first part, ignore case, punctuation, spaces, etc., which isn't sufficient in general, but should be for this use.
  
  > **Comments:**
  > **username_3**: I'm not sure that addition is a reasonable assumption for the pre-school set, though this would be great in middle or upper elementary school!  
  > **username_11**: ROT13 popped into my head when I read the question.  
  
  ---
  
  ### Answer by username_5 on 2018-03-07. Score: 3
  
  A simple hash algorithm is modulo or remainder (they are the same for positive numbers). You only need be able to count.
  
  To calculate $n$ modulo $m$, take $m$ empty pots, and $n$ marbles. Place one marble in front of each pot, then put the marbles in the pots, and repeat until you do not have enough marble for each pot, count the marbles that are in-front of the pots (that is the answer).
  
  In is **not** a cryptographic hash, but it is a hash. I doubt that you will be able to do a crypto hash at this age.
  
  Another algorithm, would be horizontal and vertical parity. (not very hashy, but related) see CS unplugged. <https://www.youtube.com/watch?time_continue=210&v=FnwBratAhfg> and <https://csunplugged.org/en/topics/error-detection-and-correction/>
  
  
  ---
  
  ### Answer by username_12 on 2023-06-05. Score: 3
  
  You asked,
  
  > Does there exist a pencil & paper activity involving blockchain ciphers which is suitable for preschoolers?
  
  The answer is **no**. However, you might be able to teach such things to children who like math or science in middle school (American grades 6, 7, & 8). If you re-ask your question, but use the phrase "children 12 years of age and older" you might get better quality answers.
  
  > **Comments:**
  > **username_3**: This is the right answer. In pre-k, students are learning letters (but not necessarily reading yet), colors, patterns such as red-blue-red-blue-red-blue, the seasons and the days of the week.  While there may be some among them who can read, you're really more likely to get that reliably in first grade, and reliably in second.  
  
  ---
  
  ### Answer by username_8 on 2023-07-05. Score: 1
  
  I am a preschool teacher and a former CS/IT worker. Yes, you can teach CS to preschoolers. It is a part of the Digital Citizen lesson planning that is common across the board. I would say use colors and simple numbers/letters.
  
  Ex- Red and Blue make Purple, Uppercase and Lowercase letters, ect.
  Making a game out of it using their bodies instead is the easiest way. That way you can "show" the CS skills happening in real-time and they really are learning it. Sounds odd, sure but trust when they get to Kindergarten it will show that they did learn it!! Kudos to you for implementing it!!
  
  Red - Jump
  A- Turn Right
  Blue - Spin
  B - Turn Left
  
  Hopefully, this is making sense!! Preschoolers do code for whoever said no. It is clear that this question is hard if you are not in the classroom directly. I have done this before and trust me when I say make it BIG! So they can see the coding happening on the ground. Preschool and Tech are my little niche as most PK teachers hate "screen time" or anything to do with tech in the classroom because they are choosing to not figure it out.
  
  Resources Below for verification:
  <https://k12cs.org/pre-k/>
  
  Hope that helps!!
  
  Play is the work of the Child!
  -Teacher Kelly
  
  > **Comments:**
  > **username_3**: This is exactly the sort of answer that this site exists for. Fantastic!  
  
  ---
  
  ### Answer by username_9 on 2018-03-09. Score: 1
  
  Pick your first word from the sentence to hash.
  Look it up in a dictionary and write down the first word of the description.
  Pick the next word and look it up. Write down the second word from the description.
  Do this repeatedly and wrapping around from start to finish of the description as many times as necessary depending on the position of the word.
  
  A weak hash function for text.
  
  
  ---
  
  