2:40 looking up the block in an array of 256 possible blocks is O(256) = O(1). And I would be rather surprised if using a hash map for such a small lookup was actually faster than a linear scan through a 256 element array.
Yeah I realized that after haha from a leetcode problem searching for the first character to appear twice in a string. I’m not too sure which would be faster since you’d average 128 array accesses assuming every byte was equally likely in a file. Another approach instead of a linear scan would be a binary search from an alphabetical ordering of blocks. That’d max out at 8 accesses I believe since log_2(256) = 8. Still not sure how much extra computing Java uses in computing its hashes, so definitely worth testing. But hashmaps were much easier to implement and this wasn’t at all meant to be practical so I don’t regret it haha. Thanks for the comment
@@BKBinary nope, for an array that small linear scan even beats binary search. Linear scan is easily vectorized to allow checking the elements 4 or 8 elements at a time, and all the repeated failures in linear scan make the branch predictor very happy too - you only get the one single branch miss for the one element that matches. Whereas, binary searching 256 elements means taking a 50/50 on a branch miss _eight_ times. (Linear scan is also an access pattern that makes memory prefetch happy, so you're probably avoiding one or two cache misses that way too.)
@@BKBinary here's the approach I'd take: just create an array large enough that you can index into it directly with a Minecraft block ID, and put the byte values you want at the handful of relevant indices. (I'd still want to benchmark this against linear scan though lol, memory fetch issues could actually still make that faster.)
@@AJMansfield1 great idea, I didn’t think of this. Thanks for taking the time to share these ideas with me, always looking to expand my knowledge on data structures and algorithms
@@AJMansfield1 I see. I’m not too knowledgeable on compiler optimizations, I’ve never taken a class on the subject or looked too heavily into it. You know any good resources? Also I pinned ya since I was getting so many comments on the hash map implementation and your explanation was definitely the best.
Unironically pretty achievable, all it would take would be pre-generating the chunks in a local world, exporting it to a schematic, transporting resources to nearby chests, then just using Baritone to build the whole think automatically
@@benp.865 Why stop there? Why not store the different reachable locations of 2b2t and their difficulty of being reached in beautiful 16-options-per-64 x 64 x 64 space on a scale of reachability from 0-4 and on a scale of mine-ability from 0-4 and on a scale of however many 64 x 64 x 64 space volumes above have blocks in them on a scale from 0-5 ... on itself 2b2t?
*You could actually do that.* Sure, you need the resources, but if you could convince some clans to sponsor you, it could be done. For the placement, you need to generate a blueprint of the files in a single player world, then you could use a Barritone bot to do the placement. (Wrongfully-) assuming no greffers show up, you could probably have it done in some moth(s?), or you can use more bots for faster placing.
In theory you could use chests to compress the size of the data significantly. You'd be able to get a lot more bits stored per block, because not only would you be able to use blocks like sand and anvils, you'd also be able to use every item in the game to store bits. You'd also be to stack items to further increase the bits you could store (for example a stack of 32 dirt could be different then a stack of 33). You can also copy a chest with all its contents by alt middle clicking them in creative mode, allowing you to nest chests, and exponentially increasing the amount of bit storage. It could be possible to store an entire file in a single chest this way
Interesting. I was also thinking of using written books stored in shulkers stored in chests. I think this was actually an exploit used on 2B2T. People were overflowing the memory of certain chunks causing them to be reset creating "illegal" items. This kind of scared me from using chests to store the file as I was afraid I'd overflow a chunk (and it wouldn't look near as cool haha). You could probably calculate the max amount of information you can store in a chunk then use this method to drastically decrease the size (by size I mean dimension of the file)
@@tr7zw ah I see. I haven’t kept up too closely with the updates as of late (as most of them are useless mobs lol). The new one with autocrafters and bulbs used as one block flip flops seems pretty neat though
@@meesvandenberg9468highfleet has a mechanic like this so you can decode intercepted enemy transmissions. Once you loot a part of the code from a destroyed ship it becomes pretty easy to finish the rest of the message yourself, and then you can figure out exactly where that trade ship you wanna attack is going to be!
If you made the endermen invisible they would actually make your home world seem like it was it's first stages of dementia Add in their agro pattern and you get a slightly more advanced form of dementia Then over time turn up their spawn rate and you eventual get into a state of incoherce and beyond
People boutta be using Minecraft world files to pirate movies. For real though, it would be cool to see how many blocks it would take to store a 1080p 60fps video with 2 channel audio in Minecraft (not sure if it would work with chunks de-loading).
I did run into some issues when chunks weren’t generated when trying to place blocks. I had to fly out to those chunks to generate them before storing the file. As for how many blocks a 1080p movie would take up, we could do some quick math. On average, at least from what I’ve seen, a movie is usually 2gb. 2gb = 2,000,000,000 bytes so it would be that many blocks. Since a chunk is 16x16x384 blocks big, this file would take up about 20,000 chunks in my implementation. This means it would span out to around 300,000 in the x axis. This is why I compressed the file down to 27p haha
@@BKBinary There's a mod that lets you preload chunks which would work perfectly for that. I wonder if you could maybe compress a 720p 1 hour movie with that.
*The enchanting table language is a substitution cypher, with custom letters on one side and English letters on the other.* It's called the "Standard Galactic Alphabet"
@@the_veemonator 2 things "mglwnafh" is not a word, there are in fact random strings of letters in there "sphere fiddle fresh" is gibberish regardless of the fact it contains real words
It’s genuinely so nice to find Minecraft videos like these where the person isn’t shouting at the viewer and throwing together visuals that pop up every 3 milliseconds. It’s also just really nice to find a Minecraft video that is original feels like it’s made with passion and effort. Keep it up, man. ❤
Loved the concept, made sure to let it play in the background and go to the next video so you got the full benefits of the watch even though I really couldn't focus on the technical side. You absolutely deserve the support even if I can't appreciate everything that goes into it. I can't wait to see what you come up with next.
Something I think is really interesting is that since a recent update allowed you to insert and read music discs from a jukebox (giving a redstone signal from 0-16), you could actually store all the data in shulker boxes full of different music discs, and then read the data in minecraft itself.
And then you can midi-fy the audio and play it using noteblocks :^] If there's some block that changes it's appearance based on signal strength.. maybe a mod... you could watch shrek on a monotone screen and have the AUDIO too...
If we want to go into compression even more, we can play with the Minecraft region format. Each chunk is split into 16x16x16 sections. Each section has its own palette, where each entry is every single block occurring in the section. Then it’s being split into amount of bits needed to represent every index of the palette. Using the combinations formula of possible_values^slots where possible values is 2 because we have 1 and 0, we can figure out how many bits we need to represent X entries. So for example we have air, dirt and grass block. 3 blocks entries. 2^2 is 4, thus suitable for us since we can represent 4 different values and we need only 4 bits for that. If we have 13 different entries, the closest power of 2 is 16 and this is 2^4. You can get the needed value by using log2 function (log2(16) = 4, log2(256) = 8 and so on). After that Minecraft just stores the bitset as a long array into the nbt and when we need to read the data it recalculates needed bits for the palette and splits the message into indexes and places blocks. We know the exact size of the array since we know that there’s exactly 16x16x16=4096 blocks in a section, so if we have 4 bits per block, our section will go to 16k bits or 2k bytes (in to lazy to remember the actual value of this power of 2)
Very interesting. At first I was trying to edit the world file directly so I saw the palette and assumed it was for this purpose but I was still very unsure on the topic. Thanks for the comment
Next, you will store your files on a hard drive in Minecraft, in which the Minecraft world is located on your computer’s hard drive. Hard-drive inception.
The enigma cypher was easily cracked for 3 main reasons: - They failed to follow the instructions to scramble the wheels often enough". - They too often ended a text with a repeating chant - They underestimated the hackers. With that (and with radar+sonar) england knew in advance where germany attacked, but often had to disguise that knowledge with things like "our carrots improve eye sight", or with RANDOM ignorance.
Incorrect. This is why I hate the Irritation Game. The allies looked for a message that was sent at the same time every day that started with the same text. This was the weather report that started with the words "weather report" ("wetterbericht" in german). I believe enigma operators were even told not to sign off messages, although this was done for brevity and not for security reasons.
Love the editing! Very interesting content presented in a fun and digestible manner. My only feedback is if something flashes on the screen, try to give them maybe 250-500ms more screen time to allow for the brain to properly digest the info. In some cases even 100ms can make a big difference to the feeling provided when flashing something on screen. Other than that, excellent work! 😁👍
One of the first things I thought about when playing Minecraft, apart from the game itself, was how efficient store information that would also be encrypted because no one would know how to encode it
Very fun, original, and INSPIRING! And thanks for leaving a link to the code in the description!!! :D Your video editing is quite smooth o.o Have a nice day ^-^
Thank you! Cryptography is a really interesting branch of mathematics, definitely one of my favorites behind numerical analysis. My favorite method that I learned was called elliptic curve cryptography, I found it so fascinating and constantly wondered how someone could even think of such a concept.
The year is 2095. Minecraft has become so optimized and advanced that it has become the most efficient way to store data. The government has begun using it to store important documents of information. All is well, the president has built a log cabin next to the monument of data upon which the country is run. In the distance, a creeper approaches. It has been struck by lightning and is glowing with electrical charge. The president spots the creeper nearing the monument, and charges forth to stop it, but is unable to. The creeper explodes, the monument's data is corrupted, and the United states falls slowly into shambles. The day is marked to be remembered as the day the first act of video game terror took place, and the creeper is forever regarded as one of the most dangerous and consequential terrorists throughout all of American history.
I love this. A while ago I was playing around with stuff like punched tapes and such where the data is actually even readable just by looking at it. I love how it puts to perspective the amount of data we usually work with. I also used a graph paper notebook as a storage device where I just colored the squares that represented 1 and then calculated how many kilobytes would fit in it and how many notebooks youd need to store various stuff
Nice video once again! Just wanted to point out that the camera hides a bit of the ciphertext at the end, but that's very fine. Nice editing, it kinda makes me want to learn the basics!
great video and you are right. the ciphers are fun to decode. also was not expect you to pull up the Daniel Larson clip with him “arresting” the Olive Garden employees and pulling the alarm
I love how this was both a unique explanation of creative file storage, and also a solid demonstration of how easy replacement encryption codes are to break
This was a fun video to watch with a nice balance of humor and knowledge. I think the next natural step would be to introduce some kind of redundancy or error correction logic in case a creeper blew up some portion of your file lol.
It's really a fascinating topic. If you ever get the chance to take a course on the subject I'd highly recommend doing so. We would have weekly quizzes in the course and all it was was encrypted information with the cipher we learned that week and we were told to break it. Although with modern techniques such as RSA or lattice encryption, you need some information to start off your breaking.
3:53 Windows requires file extensions but some other operating systems look at the first couple of bytes (the pattern that you mention a little later in the video) of the file instead because that's where the file type information is actually stored.
Linux mainly uses the first bytes (aka "file magic"), while Windows is file extensions all the way. macOS is somewhere between, since it's Unix based, but likes to act like Windows sometimes.
you can also just use and name any file in any way, without having to change the extension, you can absolutely load a mp4 into a text editor, or load a text file in a music player, there's just a very good chance it will fail
@@BKBinarythere's tools that allow to deduce the mime type from the file, and then you can add an appropriate extension, though be careful with that, there's a bunch of files which are just zips (PK) in disguise (e.g. odt documents), and exe and dlls have also the same number (MZ)
Not that security through obscurity is real security, but what if you encoded secret files in your minecraft world, then encoded that minecraft world in another minecraft world?
Be careful about using volatile blocks like dirt that can be changed by engine actions (in the case of dirt, turned into grass) without player's interaction. It's better to only use blocks that don't change over time or can't be changed by regular minecraft happenings.
Oh true this isn’t something I considered. I purposefully didn’t choose a grass block as I know the grass would turn into dirt with another block on top but I didn’t take into account dirt turning into grass
@@BKBinary I think the safest blocks to use would be various decoration blocks (all different varieties of wood, stone, etc.), those that don't react with the environment at all.
@@UltimatePerfection Wood does interact with the environment. It can burn. Even if there is no fire in the proximity it can always be started by a lightning.
@@xonocarrot5550 Depends on what you want to do with the world. If you just want a strange data storage then you don't even need to open it in minecraft. You can then use any blocks including gravity blocks. I imagine the world as one that can be played in survival which meas no nonstandard settings
There's so much information in that Minecraft world, that my video is lagging. But yeah this video is absolutely legendary. This shows how limitless Minecraft is, and you did an amazing job in everything here
What if you could utilize chests with NBT data and have the items inside each chest represent the file data? I feel like that could make it possible to store larger files without taking up as much space in a Minecraft world
Minecraft has a limit on how much data can be in a chunk (a bit under 2mb iirc), after which it will not save so the data will be lost. But should be fine as long as you keep under that
I think the "optimal" level of use for that (mostly optimal in the sense of not making it hard for the game to save and store it but also relatively easy for the person encoding it to retrieve when they need it) would be to use chests with each slot being a shulker box full of one block per slot - even better if a repeated block, like if the encoding leave three emerald ores in a row or something, could all be stored in one slot, so "Z X F F F M" could be sored as one slot with 1 obsidian, one slot with 1 brown wool, one slot with 3 iron ores, and one slot with 1 lime concrete. Or something. Worst case scenario of no adjacent identical bytes would be 27^2 bytes in one block space.
Bro's friend and his mother lived alone, in a house atop a hill. Bro's friend kept to himself, playing with his toys as bro's friend's mother watched christian broadcasts on the television.
Cryptanalysis was part of Codebusters, one of the Science Olympiad events I participated in, and I can tell you, it is *not* easy under a timed scenario with no tools except for paper.
If you want to encrypt files in Minecraft best to encrypt the file in a more traditional manner then encode them into Minecraft using a known encoding scheme. That way the map from bytes to blocks doesn't need to be secret ☺️
Wow, this video is absolutely mind-blowing! The creativity and technical skills involved in storing the Shrek movie as Minecraft blocks are just incredible. 😲 Not only is the idea itself fascinating, but the explanation of how substitution ciphers work and the live decryption demo were super informative and entertaining. Kudos for making data science and encryption so accessible and fun! Can't wait to see what other unconventional storage methods you come up with next. Keep up the awesome work! 👏🔥🚀 - Totally not chatgpt
sure, always could. i'm not sure a block map would be my first choice though. in java, written books can have 2,147,483,639 pages and 32,767 characters per page via commands or editors. that ought to be enough to fit a minecraft world into a single written book
if you wanted to write them without commands you get 100 pages with 798 characters per page, 2.55MB per book, 137MB per double chest, maybe 20 or so double chests for a 2.74GB minecraft world
I’ve considered doing this, but with social media. Like creating threads on Facebook and storing pieces of files using steganography on images and some way of storing an ongoing checksum and ordering so that a user couldn’t break the file integrity with a stray post. Either that or potentially finding a way to hide data in the actual text. Either with something like purposeful misspellings, whitespace, punctuation, and/or capitalization.
All good ideas. My first video is about using UA-cam as infinite storage with steganography if you're interested. I find that concept to be really fascinating
Super cool video! I'm taking a cryptography class right now, and that code would sure be helpful to solve monoalphabetic substitution ciphers. I thought it was really cool how you made a plugin to put the code from a folder into a minecraft world. I'm not that experienced with coding, and seeing you make something so practical makes me want to learn at least one coding language, so I can make my own plugins to encrypt my files in minecraft. Again, great video, keep it up!
Thank you! Nowadays you don’t have to be super experienced with programming to be able to use it for cases like this. Most of my code is written with AI as it speeds up the process tenfold. Of course it helps knowing what each line does in case there’s errors or the code is slow but it’s really easy to get something like the cipher solver up and running
When I was younger (in the 80s) there was an Idea of 3D operating systems to help visual data and data relationships. Silicon Graphics invested heavily into it. It's good to see we haven't completely given up on those ideas. This is particularly exciting for low level data manipulation. If you can understand the encryption method, you can alter the file with... a pickax. Adding file editing modifications (to assist user with the encryption translations) would be possible. But a completely new world structure with a minecraft-like interface would be much more efficient for representing large file systems, running processes, device drivers and so on (such as the way linux works with, for example). Still minecraft has a lot of interesting options to work with... looking at you redstone. Please keep working on this. I would think some old Sili-G engineers may be jealous.
Very great idea! Huffman Coring would be great to be super nice to have for recovering the world if tnt is applied. Also for your privacy over obvouscation method idea, I would also suggest using the Minecraft physics modifying the structure and being able to reverse engineer them also as an obvouscation method.
Really talented people create really unexpected and fun events. I really envy something that is outside of my world of imagination. It sounds even more magical to me because I am beyond the reach of such abilities. Programmers must be the wizards of Earth.
The ending was nostalgic. How I wish I could go back in time and take that Python course *before* taking that cryptography course. It turns out regular expressions are a bit more convenient than spreadsheets for working out cyphers.
2:40 looking up the block in an array of 256 possible blocks is O(256) = O(1). And I would be rather surprised if using a hash map for such a small lookup was actually faster than a linear scan through a 256 element array.
Yeah I realized that after haha from a leetcode problem searching for the first character to appear twice in a string. I’m not too sure which would be faster since you’d average 128 array accesses assuming every byte was equally likely in a file.
Another approach instead of a linear scan would be a binary search from an alphabetical ordering of blocks. That’d max out at 8 accesses I believe since log_2(256) = 8. Still not sure how much extra computing Java uses in computing its hashes, so definitely worth testing.
But hashmaps were much easier to implement and this wasn’t at all meant to be practical so I don’t regret it haha. Thanks for the comment
@@BKBinary nope, for an array that small linear scan even beats binary search. Linear scan is easily vectorized to allow checking the elements 4 or 8 elements at a time, and all the repeated failures in linear scan make the branch predictor very happy too - you only get the one single branch miss for the one element that matches. Whereas, binary searching 256 elements means taking a 50/50 on a branch miss _eight_ times. (Linear scan is also an access pattern that makes memory prefetch happy, so you're probably avoiding one or two cache misses that way too.)
@@BKBinary here's the approach I'd take: just create an array large enough that you can index into it directly with a Minecraft block ID, and put the byte values you want at the handful of relevant indices. (I'd still want to benchmark this against linear scan though lol, memory fetch issues could actually still make that faster.)
@@AJMansfield1 great idea, I didn’t think of this. Thanks for taking the time to share these ideas with me, always looking to expand my knowledge on data structures and algorithms
@@AJMansfield1 I see. I’m not too knowledgeable on compiler optimizations, I’ve never taken a class on the subject or looked too heavily into it. You know any good resources? Also I pinned ya since I was getting so many comments on the hash map implementation and your explanation was definitely the best.
This is epic. I will now proceed to store the entire Harry Potter movie franchise on the oldest anarchy server in Minecraft 2b2t.
Least intensive 2b2t project
Unironically pretty achievable, all it would take would be pre-generating the chunks in a local world, exporting it to a schematic, transporting resources to nearby chests, then just using Baritone to build the whole think automatically
@@cephelos1098 you just need to dupe 256 different blocks a shit ton of times
@@benp.865 Why stop there? Why not store the different reachable locations of 2b2t and their difficulty of being reached in beautiful 16-options-per-64 x 64 x 64 space on a scale of reachability from 0-4 and on a scale of mine-ability from 0-4 and on a scale of however many 64 x 64 x 64 space volumes above have blocks in them on a scale from 0-5 ... on itself 2b2t?
*You could actually do that.*
Sure, you need the resources, but if you could convince some clans to sponsor you, it could be done.
For the placement, you need to generate a blueprint of the files in a single player world, then you could use a Barritone bot to do the placement.
(Wrongfully-) assuming no greffers show up, you could probably have it done in some moth(s?), or you can use more bots for faster placing.
Enderman comes and breaks the whole thing
Looks like the file has been corropted
@@Super_ATIcorrection algorythm saves the day!
Datamoshing 👀
@@koimanananawhoops a creeper destroyed the blocks that is used data that has code for data correction algorithm
@@koimanananawhoops a creeper destroyed the blocks that is used data that has code for data correction algorithm
In theory you could use chests to compress the size of the data significantly. You'd be able to get a lot more bits stored per block, because not only would you be able to use blocks like sand and anvils, you'd also be able to use every item in the game to store bits. You'd also be to stack items to further increase the bits you could store (for example a stack of 32 dirt could be different then a stack of 33). You can also copy a chest with all its contents by alt middle clicking them in creative mode, allowing you to nest chests, and exponentially increasing the amount of bit storage. It could be possible to store an entire file in a single chest this way
Interesting. I was also thinking of using written books stored in shulkers stored in chests. I think this was actually an exploit used on 2B2T. People were overflowing the memory of certain chunks causing them to be reset creating "illegal" items.
This kind of scared me from using chests to store the file as I was afraid I'd overflow a chunk (and it wouldn't look near as cool haha). You could probably calculate the max amount of information you can store in a chunk then use this method to drastically decrease the size (by size I mean dimension of the file)
7chest
@@BKBinary afaik Minecraft(and paper) has fixed this in later versions. The 2B2T thing was in 1.12.2.
Wouldnt maps be able to store even more?
@@tr7zw ah I see. I haven’t kept up too closely with the updates as of late (as most of them are useless mobs lol). The new one with autocrafters and bulbs used as one block flip flops seems pretty neat though
WE ARE HIDING HOMEWORK FOLDER WITH THIS ONE 🗣🗣🗣🔥🔥🔥🔥🔥💯💯💯💯💯
this man got terabytes for sure
hi mom I'm looking at po- I mean I'm doing my homework
Toto touch grass tiktoker
My man
one of the most creative comments i’ve seen
“…In Mincraft” has a whole new meaning. Thank you for sharing this.
mincraft
@@liamhansolo1464 minute crafts
"Storing CP... in Minecraft"
I have no idea why seeing you decoding this journal entry was so entertaining to me, but it really was.
I have no idea why this bit is in the video if it's is not about deciphering
@@roma_prokopov would make a great game
It's so beautiful.
@@meesvandenberg9468literally fallout journal hacking
@@meesvandenberg9468highfleet has a mechanic like this so you can decode intercepted enemy transmissions. Once you loot a part of the code from a destroyed ship it becomes pretty easy to finish the rest of the message yourself, and then you can figure out exactly where that trade ship you wanna attack is going to be!
I’m just Imagining storing your data in Minecraft blocks only to have an enderman pick up blocks and corrupt your data😂
If you made the endermen invisible they would actually make your home world seem like it was it's first stages of dementia
Add in their agro pattern and you get a slightly more advanced form of dementia
Then over time turn up their spawn rate and you eventual get into a state of incoherce and beyond
"Get out of my swaaaaaaaaaaa-----"
Just like real life, where cosmic rays cause bit flip errors haha
That could be mitigated somewhat by having certain lengths of data appended with a checksum bit
Or creeper 😂
10:20
A nice improvement to the program would be to color code letters based on if they're swapped or not.
Or letters case. Mb like this: "m=Z; f=W; "
I don’t know if VSCode terminal output allows colored text output
@@OctagonalSquareIt does
a better improvement imo is just to switch the two letters instead of changing just the one since the substitution function is a bijection.
@@OctagonalSquareyou can use ANSI escapes, many terminal emulators support them
People boutta be using Minecraft world files to pirate movies. For real though, it would be cool to see how many blocks it would take to store a 1080p 60fps video with 2 channel audio in Minecraft (not sure if it would work with chunks de-loading).
I did run into some issues when chunks weren’t generated when trying to place blocks. I had to fly out to those chunks to generate them before storing the file.
As for how many blocks a 1080p movie would take up, we could do some quick math. On average, at least from what I’ve seen, a movie is usually 2gb. 2gb = 2,000,000,000 bytes so it would be that many blocks. Since a chunk is 16x16x384 blocks big, this file would take up about 20,000 chunks in my implementation. This means it would span out to around 300,000 in the x axis. This is why I compressed the file down to 27p haha
@@BKBinary Wow that is massive lol. If you ever need an idea for what to do for a video, trying to make that work would be really cool to see IMO.
@@BKBinaryyou could theoretically utilize a fake player that will always be at the position of the 'writer' so the chunks will always be loaded
@@BKBinary There's a mod that lets you preload chunks which would work perfectly for that.
I wonder if you could maybe compress a 720p 1 hour movie with that.
*The enchanting table language is a substitution cypher, with custom letters on one side and English letters on the other.*
It's called the "Standard Galactic Alphabet"
You won't get anything from translating enchanting tables though. They just use gibberish.
Its not gibberish, they are actually words, Not just random letters.@questwalkerko
also, the standard galactic alphabet is from commander keen iirc
@@the_veemonator welllllll they are nonsense words
@@the_veemonator 2 things
"mglwnafh" is not a word, there are in fact random strings of letters in there
"sphere fiddle fresh" is gibberish regardless of the fact it contains real words
It’s genuinely so nice to find Minecraft videos like these where the person isn’t shouting at the viewer and throwing together visuals that pop up every 3 milliseconds. It’s also just really nice to find a Minecraft video that is original feels like it’s made with passion and effort. Keep it up, man. ❤
don't forget those stupid one-word subtitles that are absolutely everywhere
"HEY GUYS, it's Mr. Minercraft here! Today we're going to be HUNTING SOME SHEEP!"
UA-cam recommended me this and I was surprised that there's none of that annoying shit
@@EngineerMonkeyBTD6 followed by 73 random sound effects
Loved the concept, made sure to let it play in the background and go to the next video so you got the full benefits of the watch even though I really couldn't focus on the technical side. You absolutely deserve the support even if I can't appreciate everything that goes into it. I can't wait to see what you come up with next.
Thank you I really appreciate it. Kind felt messages like this are why Ive been continuing to make these
So sad when Shrek movie died by Creeper.
Something I think is really interesting is that since a recent update allowed you to insert and read music discs from a jukebox (giving a redstone signal from 0-16), you could actually store all the data in shulker boxes full of different music discs, and then read the data in minecraft itself.
Oh jeez, imagine trying to implement a decoder for even a "simple" format like MPEG Layer 2, in just minecraft redstone...
@@AJMansfield1 These guys made a music player with noteblocks using the jukebox saving technology: ua-cam.com/video/V6X2BHpeLww/v-deo.html
@@AJMansfield1play Shrek at 1 frame/min on a small black and white (yellow and brown) redstone lamp screen 😂
@@ragnarok7976 make a texture pack for redstone lamp that is black and white for the OFF and ON states :)
And then you can midi-fy the audio and play it using noteblocks :^]
If there's some block that changes it's appearance based on signal strength.. maybe a mod... you could watch shrek on a monotone screen and have the AUDIO too...
00:14 glorious 27p
i don't think its a movie I would want to see if its only 27 pixels x 27 pixels
It looks like that 3:32 .
@@double_0_delta158 not 27x27, probably 27x (27X16/9) pixels
27p isn't really glorious. Most modern phone screens can show up to 1080p, computer monitors even 4k.
Thanks Captain Obvious🤓☝️
You need more recognition bro you put way to much effort into these video
If we want to go into compression even more, we can play with the Minecraft region format. Each chunk is split into 16x16x16 sections. Each section has its own palette, where each entry is every single block occurring in the section. Then it’s being split into amount of bits needed to represent every index of the palette. Using the combinations formula of possible_values^slots where possible values is 2 because we have 1 and 0, we can figure out how many bits we need to represent X entries.
So for example we have air, dirt and grass block. 3 blocks entries. 2^2 is 4, thus suitable for us since we can represent 4 different values and we need only 4 bits for that. If we have 13 different entries, the closest power of 2 is 16 and this is 2^4. You can get the needed value by using log2 function (log2(16) = 4, log2(256) = 8 and so on).
After that Minecraft just stores the bitset as a long array into the nbt and when we need to read the data it recalculates needed bits for the palette and splits the message into indexes and places blocks. We know the exact size of the array since we know that there’s exactly 16x16x16=4096 blocks in a section, so if we have 4 bits per block, our section will go to 16k bits or 2k bytes (in to lazy to remember the actual value of this power of 2)
Very interesting. At first I was trying to edit the world file directly so I saw the palette and assumed it was for this purpose but I was still very unsure on the topic. Thanks for the comment
This absolutely qualifies as a harder drive, nice!
Hardest drive 💪
Next, you will store your files on a hard drive in Minecraft, in which the Minecraft world is located on your computer’s hard drive. Hard-drive inception.
okay the encrypted message bit was highy entertaining and it's fun to learn about substitution cypher this way, good video
Thank you kind sir
The enigma cypher was easily cracked for 3 main reasons:
- They failed to follow the instructions to scramble the wheels often enough".
- They too often ended a text with a repeating chant
- They underestimated the hackers.
With that (and with radar+sonar) england knew in advance where germany attacked, but often had to disguise that knowledge with things like "our carrots improve eye sight", or with RANDOM ignorance.
Yep, as always, the most fatal security flaw in any system is where it meets the users hands.
But didn't a guy need to basically invent the computer to break the code
Incorrect. This is why I hate the Irritation Game. The allies looked for a message that was sent at the same time every day that started with the same text. This was the weather report that started with the words "weather report" ("wetterbericht" in german). I believe enigma operators were even told not to sign off messages, although this was done for brevity and not for security reasons.
@@dafoex wait so that movie just straight up lies
@lly.nobody I think the main commenter got mixed up, the allies needed to make advanced programs (Not ultra, as I originally stated,) to work.
Love the editing! Very interesting content presented in a fun and digestible manner. My only feedback is if something flashes on the screen, try to give them maybe 250-500ms more screen time to allow for the brain to properly digest the info. In some cases even 100ms can make a big difference to the feeling provided when flashing something on screen. Other than that, excellent work! 😁👍
One of the first things I thought about when playing Minecraft, apart from the game itself, was how efficient store information that would also be encrypted because no one would know how to encode it
Very fun, original, and INSPIRING! And thanks for leaving a link to the code in the description!!! :D
Your video editing is quite smooth o.o
Have a nice day ^-^
Appreciate it kind sir. I’m glad I could inspire you :)
Encryption/decryption is so fun, makes me wish we'd get more videogames where its utilized for the sake of interesting puzzles.
You mean like in the game "Prose & Codes" right?
I recently discovered a game called "Cypher". It's fun
Shipwreched beaver scratch is pretty cool, even if short as an encryption method
So im theory can you store minecraft in minecraft?
Ya more or less
But that's just a theory
@@isaacristaa game theory
@@OverlordJacobno. it’s actually just a theory
@@1337_bean guess it's a food theory then huh
Masterful content bait leading to a really interesting insight into code breaking.
Well done!
I'm studying this, and this was a lovely way to showcase some cyptrography concepts thanks man you earned my sub.
Thank you! Cryptography is a really interesting branch of mathematics, definitely one of my favorites behind numerical analysis. My favorite method that I learned was called elliptic curve cryptography, I found it so fascinating and constantly wondered how someone could even think of such a concept.
i did not expect daniel larson lore to be encrypted in minecraft blocks
Not only is the plugin amazing, but the video is really well done too. Please make more of these! Do your part to make the world a better place!
The year is 2095. Minecraft has become so optimized and advanced that it has become the most efficient way to store data. The government has begun using it to store important documents of information. All is well, the president has built a log cabin next to the monument of data upon which the country is run. In the distance, a creeper approaches. It has been struck by lightning and is glowing with electrical charge. The president spots the creeper nearing the monument, and charges forth to stop it, but is unable to. The creeper explodes, the monument's data is corrupted, and the United states falls slowly into shambles. The day is marked to be remembered as the day the first act of video game terror took place, and the creeper is forever regarded as one of the most dangerous and consequential terrorists throughout all of American history.
Damn, that’s the minecraft MOVIE bro
I love this. A while ago I was playing around with stuff like punched tapes and such where the data is actually even readable just by looking at it. I love how it puts to perspective the amount of data we usually work with. I also used a graph paper notebook as a storage device where I just colored the squares that represented 1 and then calculated how many kilobytes would fit in it and how many notebooks youd need to store various stuff
We have the same brain. I always wonder about useless things like this as well haha. It's just so cool
8:15 This part is so amazing. Even before he is finished, you can deduce that n=a, q=d, z=m, and the first few words read:
"Dear diary, I am..."
Great video, love how you turned something fun and silly into informative about decryption methods. Subscribed
Nice video once again! Just wanted to point out that the camera hides a bit of the ciphertext at the end, but that's very fine.
Nice editing, it kinda makes me want to learn the basics!
great video and you are right. the ciphers are fun to decode. also was not expect you to pull up the Daniel Larson clip with him “arresting” the Olive Garden employees and pulling the alarm
I love how this was both a unique explanation of creative file storage, and also a solid demonstration of how easy replacement encryption codes are to break
This was a fun video to watch with a nice balance of humor and knowledge. I think the next natural step would be to introduce some kind of redundancy or error correction logic in case a creeper blew up some portion of your file lol.
That would definitely be an interesting next step. I dealt with quite a few errors from lava or water destroying the blocks of the file
This is really interesting, thank you for the introduction to codebreaking :D
It's really a fascinating topic. If you ever get the chance to take a course on the subject I'd highly recommend doing so. We would have weekly quizzes in the course and all it was was encrypted information with the cipher we learned that week and we were told to break it. Although with modern techniques such as RSA or lattice encryption, you need some information to start off your breaking.
The Daniel Larson clip caught me off guard.
Wow, I never thought about it like that, but this is an awesome way to decode!
Right! It’s pretty fun, just one big puzzle
this has been my secret project for this year.. seing you upload this hurts me
3:53 Windows requires file extensions but some other operating systems look at the first couple of bytes (the pattern that you mention a little later in the video) of the file instead because that's where the file type information is actually stored.
Interesting, I didn't know this
Linux mainly uses the first bytes (aka "file magic"), while Windows is file extensions all the way. macOS is somewhere between, since it's Unix based, but likes to act like Windows sometimes.
you can also just use and name any file in any way, without having to change the extension, you can absolutely load a mp4 into a text editor, or load a text file in a music player, there's just a very good chance it will fail
@@fuby6065 Unless it's Audacity, which will HAPPILY load any file and turn it into an auditory nightmare
@@BKBinarythere's tools that allow to deduce the mime type from the file, and then you can add an appropriate extension, though be careful with that, there's a bunch of files which are just zips (PK) in disguise (e.g. odt documents), and exe and dlls have also the same number (MZ)
It works as long as you don't have a creeper in your file.
realism
“Sir, we found Minecraft world data on his hard drive”
“That sick bastard”
Not that security through obscurity is real security, but what if you encoded secret files in your minecraft world, then encoded that minecraft world in another minecraft world?
Awesome idea and awesome editing
Also the code breaking part was very cool.
Be careful about using volatile blocks like dirt that can be changed by engine actions (in the case of dirt, turned into grass) without player's interaction. It's better to only use blocks that don't change over time or can't be changed by regular minecraft happenings.
Oh true this isn’t something I considered. I purposefully didn’t choose a grass block as I know the grass would turn into dirt with another block on top but I didn’t take into account dirt turning into grass
@@BKBinary I think the safest blocks to use would be various decoration blocks (all different varieties of wood, stone, etc.), those that don't react with the environment at all.
@@UltimatePerfection Wood does interact with the environment. It can burn. Even if there is no fire in the proximity it can always be started by a lightning.
Why not just turn the random tick speed to 0 ? And just disable fire spread
@@xonocarrot5550 Depends on what you want to do with the world. If you just want a strange data storage then you don't even need to open it in minecraft. You can then use any blocks including gravity blocks. I imagine the world as one that can be played in survival which meas no nonstandard settings
We hiding crimes with this one🗣🗣🔥🔥
For how small the channel is, the content is top Notch. I’ll be watching your career with great interest!
Thanks
I appreciate it man
5:30 Ohh...Broken Sword: The Shadow of the Templars was teaching me exactly that xDD
what a lovely stroll down memory lane
this might be one of the greatest videos of all time
Dwin gaming goated
@@BKBinary collab coming soon??????
@@dwin7206 honestly I was thinking of collabing with Jordan soon to make some sort of engineering project. If you have any good ideas I’m all ears
I love this idea, could you try Storing the ENTIRE Library of Congress in a Minecraft Server???
This would be both funny, AND dope!
I love how you went from talking about shrek in a weird file format to trying to decrypt someone's secrets by using context and frequency.
hopefully nobody makes a bunch of nuclear weapon blueprints and conspires to topple a world power... in minecraft
4:00 you can also infer the file type based on any header present
loved how you showed yourself solving it too!
Your channel is a gem!
Chud
There's so much information in that Minecraft world, that my video is lagging.
But yeah this video is absolutely legendary. This shows how limitless Minecraft is, and you did an amazing job in everything here
You should include hamming codes into the next plain text cipher, I find error correction fascinating.
I do want to try using some type of error correction in a project at some point. I'm not too educated on the topic so it'll take me some research
@@BKBinary try Ben Eater's or 3brown 1blue's take on error correction
@@zackay6211 both great channels. I'll watch them before my next project :)
YESS!!! Use a hamming code, then blow up one TNT and see if it works
When you said “27p” I lost it lmao
BRO WHEN I HEARD 27P HAHAHAHA
its still hard to believe how much you can actually do with minecraft. Absolutely goated game
Indeed the goat. Right behind Spelunky of course
What if you could utilize chests with NBT data and have the items inside each chest represent the file data?
I feel like that could make it possible to store larger files without taking up as much space in a Minecraft world
You can even store chests with nbt inside a chest, and a chest with nbt inside that chest, and so on. so i think you can pack a LOT of data into that.
@@floskater99 decoding this would probably get slower and slower with each layer of nbt data
Minecraft has a limit on how much data can be in a chunk (a bit under 2mb iirc), after which it will not save so the data will be lost. But should be fine as long as you keep under that
I think the "optimal" level of use for that (mostly optimal in the sense of not making it hard for the game to save and store it but also relatively easy for the person encoding it to retrieve when they need it) would be to use chests with each slot being a shulker box full of one block per slot - even better if a repeated block, like if the encoding leave three emerald ores in a row or something, could all be stored in one slot, so "Z X F F F M" could be sored as one slot with 1 obsidian, one slot with 1 brown wool, one slot with 3 iron ores, and one slot with 1 lime concrete. Or something. Worst case scenario of no adjacent identical bytes would be 27^2 bytes in one block space.
This has to be the most memory inefficient way to store information. I absolutely live it
If you swap the key every few blocks (any amount) it will be harder to predict, you will need to store every key though.
7:38 since you know it’s a diary entry, you can pretty easily figure out that “qrne qvnel” is “dear diary”
The only reason I learnt programming:
That was way more interesting then i initially thought it would be, specially the decryption part.
Bro's friend and his mother lived alone, in a house atop a hill. Bro's friend kept to himself, playing with his toys as bro's friend's mother watched christian broadcasts on the television.
Isaac moment
Cryptanalysis was part of Codebusters, one of the Science Olympiad events I participated in, and I can tell you, it is *not* easy under a timed scenario with no tools except for paper.
If you want to encrypt files in Minecraft best to encrypt the file in a more traditional manner then encode them into Minecraft using a known encoding scheme. That way the map from bytes to blocks doesn't need to be secret ☺️
Wow, this video is absolutely mind-blowing! The creativity and technical skills involved in storing the Shrek movie as Minecraft blocks are just incredible. 😲 Not only is the idea itself fascinating, but the explanation of how substitution ciphers work and the live decryption demo were super informative and entertaining. Kudos for making data science and encryption so accessible and fun! Can't wait to see what other unconventional storage methods you come up with next. Keep up the awesome work! 👏🔥🚀 - Totally not chatgpt
Incredible work
historians will struggle to not under-sell just how culturally impactful Minecraft was
1:16 face of cypher
I love how Shrek has become such an icon in the internet space. Like Doom becoming the playtest for different mediums
This is the REAL Databricks.
You can also right click in the notepad and save to the desktop 🗿
Does this mean we can store Minecraft inside Minecraft now?
As in, entire separate world saves, saved via blocks inside a primary world?
sure, always could. i'm not sure a block map would be my first choice though. in java, written books can have 2,147,483,639 pages and 32,767 characters per page via commands or editors. that ought to be enough to fit a minecraft world into a single written book
if you wanted to write them without commands you get 100 pages with 798 characters per page, 2.55MB per book, 137MB per double chest, maybe 20 or so double chests for a 2.74GB minecraft world
I’ve considered doing this, but with social media. Like creating threads on Facebook and storing pieces of files using steganography on images and some way of storing an ongoing checksum and ordering so that a user couldn’t break the file integrity with a stray post. Either that or potentially finding a way to hide data in the actual text. Either with something like purposeful misspellings, whitespace, punctuation, and/or capitalization.
All good ideas. My first video is about using UA-cam as infinite storage with steganography if you're interested. I find that concept to be really fascinating
Storing my bitcoin wallet on a server just to Enderman f everything 😂
storing an entire minecraft world data in minecraft video when
so I think it's perfect time to encode doom in minecraft
Doom really runs on everything
I love seeing the recent advancements in Minecraft computer science and engineering
Would it be useful to print still unknown characters and decoded characters in white to make it easier to read?
Yeah that’s one thing I was thinking of changing, never got around to it. It was a little hard to tell which characters were yet to be decoded
Hearing “you have a blessed day” made my night bro- YOU have a blessed day ❤️❤️
Also, really cool vid! You’ve earned a sub :]
Теперь я знаю ещё один способ зашифровать данные 🌚
5:33 SUBTLE MEME IS SUBTLE. You swapped U and W for the memes and I'm so here for it 😂
Super cool video! I'm taking a cryptography class right now, and that code would sure be helpful to solve monoalphabetic substitution ciphers. I thought it was really cool how you made a plugin to put the code from a folder into a minecraft world. I'm not that experienced with coding, and seeing you make something so practical makes me want to learn at least one coding language, so I can make my own plugins to encrypt my files in minecraft.
Again, great video, keep it up!
Thank you! Nowadays you don’t have to be super experienced with programming to be able to use it for cases like this. Most of my code is written with AI as it speeds up the process tenfold. Of course it helps knowing what each line does in case there’s errors or the code is slow but it’s really easy to get something like the cipher solver up and running
When I was younger (in the 80s) there was an Idea of 3D operating systems to help visual data and data relationships. Silicon Graphics invested heavily into it. It's good to see we haven't completely given up on those ideas. This is particularly exciting for low level data manipulation. If you can understand the encryption method, you can alter the file with... a pickax.
Adding file editing modifications (to assist user with the encryption translations) would be possible. But a completely new world structure with a minecraft-like interface would be much more efficient for representing large file systems, running processes, device drivers and so on (such as the way linux works with, for example). Still minecraft has a lot of interesting options to work with... looking at you redstone.
Please keep working on this. I would think some old Sili-G engineers may be jealous.
Reading and writing random blocks from Minecraft worlds would be where I would need help. But neat job in decoding a substitution cypher.
storing files in a video game shows how far technology has come, such a cool video!
Very great idea!
Huffman Coring would be great to be super nice to have for recovering the world if tnt is applied.
Also for your privacy over obvouscation method idea, I would also suggest using the Minecraft physics modifying the structure and being able to reverse engineer them also as an obvouscation method.
Really talented people create really unexpected and fun events. I really envy something that is outside of my world of imagination.
It sounds even more magical to me because I am beyond the reach of such abilities. Programmers must be the wizards of Earth.
Nice tht you showed off how easy it actually is to decode a simple text like that. pretty cool
now you can have classified military documents without anyone knowing
Fabulous! Reasons don't matter, the concept is bloody brilliant.
i love watching these and knowing nothing about coding and just being completely lost the whole time
The ending was nostalgic. How I wish I could go back in time and take that Python course *before* taking that cryptography course. It turns out regular expressions are a bit more convenient than spreadsheets for working out cyphers.
That was really interesting. Your friend did you a solid by writing “subscribe” multiple times to implant that into viewers. It worked on me.