{"id":237,"date":"2023-09-15T17:16:15","date_gmt":"2023-09-15T23:16:15","guid":{"rendered":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/?p=237"},"modified":"2023-09-15T17:16:18","modified_gmt":"2023-09-15T23:16:18","slug":"crib-draggle-a-better-gamified-crib-drag-program","status":"publish","type":"post","link":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/2023\/09\/15\/crib-draggle-a-better-gamified-crib-drag-program\/","title":{"rendered":"Crib-Draggle: A Better, Gamified, Crib-Drag Program"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Background<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large is-resized is-style-rounded\"><img decoding=\"async\" data-src=\"https:\/\/duongnt.com\/wp-content\/uploads\/2021\/06\/otp_overview_example.png\" alt=\"\" style=\"--smush-placeholder-width: 960px; --smush-placeholder-aspect-ratio: 960\/526;width:960px;height:526px\" width=\"960\" height=\"526\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" \/><figcaption class=\"wp-element-caption\">(2021). <em>otp_overview_example.png<\/em>. duongnt.com. <a href=\"https:\/\/duongnt.com\/wp-content\/uploads\/2021\/06\/otp_overview_example.png\">https:\/\/duongnt.com\/wp-content\/uploads\/2021\/06\/otp_overview_example.png<\/a><\/figcaption><\/figure>\n\n\n\n<p>The One Time Pad (OTP) has been a staple of the cryptography community ever since it was invented; publications such as Academic Accelerator even claim that the method \u201cin cryptography is an encryption technique that cannot be broken\u201d[5]. As learned in class, the use of OTP requires a sequence of key bits (or Pad) the same length as the plaintext message to be generated randomly, then xor\u2019d with the plaintext, producing a ciphertext that achieves perfect secrecy. However, when a key is re-used to encrypt multiple plaintexts, the security of the system is compromised [1]. A cryptanalysis technique known as Crib-Dragging [2] can be used to uncover the contents of the plaintexts with the re-used key, as well as reconstruct the key\/pad that was used. The technique works by the adversary <em>guessing<\/em> what the plaintext encrypted was to obtain a partial pad, then testing the guess by decrypting the other ciphertexts under the partial pad to see if sensible results are produced. If the adversary knows the content type that was decrypted this can become increasingly easy as seen in class with common english words being used to decrypt the three ciphertexts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Our Project<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"670\" height=\"431\" data-src=\"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-content\/uploads\/sites\/119\/2023\/09\/image-4.png\" alt=\"\" class=\"wp-image-239 lazyload\" data-srcset=\"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-content\/uploads\/sites\/119\/2023\/09\/image-4.png 670w, https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-content\/uploads\/sites\/119\/2023\/09\/image-4-300x193.png 300w\" data-sizes=\"(max-width: 670px) 100vw, 670px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 670px; --smush-placeholder-aspect-ratio: 670\/431;\" \/><figcaption class=\"wp-element-caption\">A screenshot from our game in action<\/figcaption><\/figure>\n<\/div>\n\n\n<p>The appeal of the game-like nature of crib-dragging was immediately apparent to our group who enjoyed its puzzle-game nature as we navigated the terminal based game from classroom Worksheet 02. Our proposed Unessay is to improve on that (ever so slightly tedious) game, with a new game called <em>Crib-Draggle<\/em>. The vision is to create something similar to New York Times\u2019 <em>Wordle<\/em> [7].<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Game Highlights<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A fully functional, web-hosted game.<\/li>\n\n\n\n<li>A usable and aesthetically pleasing UI.<\/li>\n\n\n\n<li>Features to make the game more fun and engaging:\n<ul class=\"wp-block-list\">\n<li>Provides a daily Crib-Drag puzzle in which players solve the puzzle.<\/li>\n\n\n\n<li>Provides scoring and game play statistics to make the process more fun and engaging.\u00a0<\/li>\n\n\n\n<li>Provides comparisons to their friends who also solved the daily Crib-Drag puzzle.<\/li>\n\n\n\n<li>Ability to hover over the ciphertexts using a mouse to reveal the guessed decryptions, greatly improving the usability of the puzzle.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Hopefully we will be able to host the game publicly for all of you to try!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Project Specifications<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" data-src=\"https:\/\/wiki.tino.org\/wp-content\/uploads\/2021\/09\/pasted-image-0.png\" alt=\"\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" \/><figcaption class=\"wp-element-caption\">(2021). <em>pasted-image-0.png<\/em>. Wiki.tino.org. <a href=\"https:\/\/wiki.tino.org\/wp-content\/uploads\/2021\/09\/pasted-image-0.png\">https:\/\/wiki.tino.org\/wp-content\/uploads\/2021\/09\/pasted-image-0.png<\/a><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Our project will be written using React as a front-end and JavaScript as a back-end. The game will be presented similar to Wordle where the player is presented with a crib-drag puzzle and after solving it they will receive a scoring metric to compare with other players. The loading of the plaintexts will be done by reading a json database full of potential plaintexts, the plaintexts retrieved will change depending on the day. The game will have various difficulty settings which reveal differing amounts of the pad before the puzzle starts. Statistics will be kept while playing the game and presented to the player upon solving the puzzle for things such as time taken, crib words used, etc. There may also be various modifiers that you could enable for the game such as the ability to see if your cribword is in any of the plaintexts before dragging.<\/p>\n\n\n\n<p>Adding to our fleshed out game, we also aim to generate a research page which details how crib dragging works as well as any historical facts or information pertaining to the technique to better inform the players the origin of the game and cryptographic attack.<\/p>\n\n\n\n<p>We look forward to finishing the project, and hope to have something to share with all of you when we finish. If you have any questions for our team, please feel free to ask below.<\/p>\n\n\n\n<p>Thanks,<br>Group 1<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Group 1 Members:<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Austin Shawaga 30086103<\/li>\n\n\n\n<li>Riley Lahd 10110724<\/li>\n\n\n\n<li>Patrick Guyn 00817434&nbsp;&nbsp;<\/li>\n\n\n\n<li>Ibrahim Subair 30222551<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Bibliography<\/h2>\n\n\n\n<h5 class=\"wp-block-heading\">Sources<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Stanley, James. (2018, February) A visual demonstration of the perils of key reuse in a one-time pad. Incoherency.co.uk. <a href=\"https:\/\/incoherency.co.uk\/blog\/stories\/otp-key-reuse.html\">https:\/\/incoherency.co.uk\/blog\/stories\/otp-key-reuse.html<\/a>&nbsp;<\/li>\n\n\n\n<li>Rose, Sam. (2015, July)&nbsp; Toying with Cryptography: Crib Dragging. Samwho. <a href=\"https:\/\/samwho.dev\/blog\/toying-with-cryptography-crib-dragging\/\">https:\/\/samwho.dev\/blog\/toying-with-cryptography-crib-dragging\/<\/a>&nbsp;<\/li>\n\n\n\n<li>Lewin, Michael. (2012, June) All About Xor. accu.org. <a href=\"https:\/\/accu.org\/journals\/overload\/20\/109\/lewin_1915\/\">https:\/\/accu.org\/journals\/overload\/20\/109\/lewin_1915\/<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.researchgate.net\/publication\/326534691_An_Enhanced_Practical_Difficulty_of_One-Time_Pad_Algorithm_for_Resolving_the_Key_Management_and_Distribution_Problem\">Omolara, Oludare &amp; Jantan, Aman &amp; Abiodun, Oludare &amp; Arshad, Humaira. (2018). An Enhanced Practical Difficulty of One-Time Pad Algorithm for Resolving the Key Management and Distribution Problem.&nbsp;<\/a><\/li>\n\n\n\n<li>One Time Pad. Academic Accelerator. <a href=\"https:\/\/academic-accelerator.com\/encyclopedia\/one-time-pad\">https:\/\/academic-accelerator.com\/encyclopedia\/one-time-pad<\/a>&nbsp;<\/li>\n\n\n\n<li>Hasanabad, Frank. (2018, March) Crib dragging attacks Medium.com. <a href=\"https:\/\/medium.com\/@fhbro\/crib-dragging-plain-text-attack-5a61a0bcd80d\">https:\/\/medium.com\/@fhbro\/crib-dragging-plain-text-attack-5a61a0bcd80d<\/a>&nbsp;<\/li>\n\n\n\n<li>The New York Times. (2023, September) Wordle. nytimes.com. <a href=\"https:\/\/www.nytimes.com\/games\/wordle\/index.html\">https:\/\/www.nytimes.com\/games\/wordle\/index.html<\/a><\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\">Images<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Crypto Museum. <em>full.jpg<\/em>. Cryptomuseum.com. <a href=\"https:\/\/www.cryptomuseum.com\/crypto\/img\/301277\/005\/full.jpg\">https:\/\/www.cryptomuseum.com\/crypto\/img\/301277\/005\/full.jpg<\/a><\/li>\n\n\n\n<li>(2021). <em>otp_overview_example.png<\/em>. duongnt.com. <a href=\"https:\/\/duongnt.com\/wp-content\/uploads\/2021\/06\/otp_overview_example.png\">https:\/\/duongnt.com\/wp-content\/uploads\/2021\/06\/otp_overview_example.png<\/a><\/li>\n\n\n\n<li>(2021). <em>pasted-image-0.png<\/em>. Wiki.tino.org. <a href=\"https:\/\/wiki.tino.org\/wp-content\/uploads\/2021\/09\/pasted-image-0.png\">https:\/\/wiki.tino.org\/wp-content\/uploads\/2021\/09\/pasted-image-0.png<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Background The One Time Pad (OTP) has been a staple of the cryptography community ever since it was invented; publications such as Academic Accelerator even claim that the method \u201cin cryptography is an encryption technique that cannot be broken\u201d[5]. As learned in class, the use of OTP requires a sequence of key bits (or Pad) &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/2023\/09\/15\/crib-draggle-a-better-gamified-crib-drag-program\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Crib-Draggle: A Better, Gamified, Crib-Drag Program&#8221;<\/span><\/a><\/p>\n","protected":false},"author":617,"featured_media":238,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-237","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","entry"],"featured_image_src":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-content\/uploads\/sites\/119\/2023\/09\/full-600x400.jpg","featured_image_src_square":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-content\/uploads\/sites\/119\/2023\/09\/full-600x600.jpg","author_info":{"display_name":"Austin Shawaga","author_link":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/author\/austin-shawaga\/"},"_links":{"self":[{"href":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-json\/wp\/v2\/posts\/237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-json\/wp\/v2\/users\/617"}],"replies":[{"embeddable":true,"href":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-json\/wp\/v2\/comments?post=237"}],"version-history":[{"count":8,"href":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-json\/wp\/v2\/posts\/237\/revisions"}],"predecessor-version":[{"id":247,"href":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-json\/wp\/v2\/posts\/237\/revisions\/247"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-json\/wp\/v2\/media\/238"}],"wp:attachment":[{"href":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-json\/wp\/v2\/media?parent=237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-json\/wp\/v2\/categories?post=237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpsites.ucalgary.ca\/jacobson-cpsc\/wp-json\/wp\/v2\/tags?post=237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}