Okay, how are we doing? IBM, oh my gosh. I can't believe it, I'm gonna be trading all day. Who's still in this with me? It's holding and I guess I'm gonna be trading all day now. So the fast trade exit, I did not take. So this better make it worth my while. It's gonna work, but it could take all day. So anyways, quick one was up in here, boom. First five minutes of the day. Now I'm waiting for the rest of my life. I know. Gyro, are you still in it too? Devod's still in it, Gyro's still in it, it looks great. I know it hasn't gone going yet, but I'm telling you the fact that it's holding looks great. So someone supporting it, they're supporting the price. The only way that can happen is buying. And the question is, are we gonna be in it all day? I know, it's retested below 100 times and it keeps getting bought. It's getting bought at that number. Here, I'm gonna quickly go over why I liked this so much and then I'm just gonna let everybody go because I really have to watch what I'm doing here now and there's nothing else I can say and we'll see what we get tomorrow if you're in it. You either took it and got out with profit, are you in it waiting for it to blow up again? Hire, here was the reason that I liked it. Besides the rating, it was over this area. This area I felt, okay, looking at the chart that if it got over it on the live day, I was okay with it, that it would really get going today and hold the gap and go higher. Now, when it opened over that, I felt great about it and it did have that big first push up. Came back, retested it. Remember, support and resistance are areas and this is what it's flirting with, this area, but the gap supersedes everything else, which is real and it's holding it up, but I wanna see another move up and another leg and I will not be looking for a piggy target on that as I said, so that's what I really saw this morning that I felt if we get over it and then we ended up opening over it because we ended up opening at 16801. Does anyone have any questions about this if I let everybody go? Stops 167, that's way, way far away. This literally though, I'm telling you people might take till two o'clock this afternoon. It's just what it is. I thought maybe it would run up again here at 10, but it didn't, so it's a slow and steady process. It could take till noon, it could take till two. Daniel's saying, so your premise is that the gap wouldn't be closed and it's some kind of runaway gap. I don't know what a runaway gap is, but there's no premise. I used my rating system, I rated the gap today. That's what I do. IBM gap rated 20 points. On a 26 point rating system, 20 points or more means that the gap is gonna hold the direction that the gap is going. So in the case of a bullish gap, that means it's gonna hold as a long. The gap rated 20 points per my system. Therefore the stock is higher. Therefore the stock is being bought. I don't know what you mean by a runaway gap. I don't consider this runaway. The stock has had a very difficult year in 2017, was in a downtrend, started trying to recover towards the end of last year. Today it is very clear to me looking at this chart that the stock is now back up in an uptrend and therefore the stock is going to move higher today after the gap today and continue. So I wouldn't say this is runaway, it's just a gap up. A runaway gap to me, again I don't talk like that would be a gap up at like 190 or something crazy. It didn't do that. But there would be no real reason for that to have done that today. This is not an earnings gap, it was an upgrade. The fact it had such a sizable gap today in an upgrade, again just points to the strength in the stock, the fact that it's getting bought. So I don't trade gap fills. They simply do not work. Even when you see something that goes in the opposite direction of the gap, it's really not what you think. I'm trying to think of one, what was that one? Here, let's just try to find one in this chart. Is there any in this chart that I could use as an example? I'm gonna use this as an example, simply because it was a gap down that did not work as a short back on 5.5 last year, it rallied. So the point is though that this didn't fill any gap. The stock rallied on a gap down, but it didn't fill any gap, didn't rally all the way up to here. What is it filling? The stock gap down. This is probably earnings, I'm guessing. One of these was, this one or this one here. But anyways, it never fills anything. The stock's either getting bought or it's getting sold off. This gap moved the stock lower. How do I know? Look. Do do do do do do do do do do do do do do do. And it moved it lower. So right after this, in fact, it followed through the next day. Shropped, braked, rolled up, pushed against the resistance. Dropped, gap down again, it fell really hard. So this gap took the stock actually all the way down from, price in here was around 150-ish, took it all the way down to 139-ish. So I mean, this gap moved the stock lower. Despite the fact that even on the live day it didn't work as a short. It didn't fill any gap. And so you see here, the institutions didn't buy this gap. How do I know? It didn't move higher, it moved lower. So the gap was real. Just like this gap is real. And this chart looks good. There's only one thing wrong with this chart. It's taking forever. And I wish I would have got out of the morning move. I was up a lot and I didn't. So maybe I was a pig, but I'll live. And if you wanna take more here, you can even take more over 167-75. Depends how aggressive you wanna be here today. The rating system is the premise, exactly. But it's very easy to see who's in control. I'll ask about, was I doing a gap fail? He obviously is new to what I do, but I never do that. I always am training with who's in control. All right, listen. Good luck, everyone, you know what to do. Looks like an inside day in the market here, but I believe we get over the hive yesterday sometime and I believe it's this week. So we'll just see how we end up working out this afternoon. You must be patient with us if you're in it. If you didn't wanna be patient, you're ready out.  But I'm telling you, the fact that it keeps retesting alone and holding is continually showing me the signs of the strength. If something wants to sell off and fall like a brick, then it's gonna do it. It didn't do it. Market is not bearish today at all, so you know the market against you in this. I'm not looking for a piggy target. Anywhere back up to the high, if it doesn't go to over, it'll be out. If it does, I'm gonna stay with the trade. I believe now this could take possibly until two o'clock in the afternoon. And the only reason I'm saying that is because it's a slow grind here with this. It's gotta get more buying to come into it to move higher. So tomorrow I hope we get a good quick short, but I still would love to see IBM push over 169. I mean, because there are traders in here that are shorting this, but they're not gonna win out in the end. But because they are, their stops probably over the high. In fact, people probably have some of their stops up here. So expect to push if you stay with this over here and the high. A push up. I don't know what you mean by other stocks and indices. I don't know what you mean. I'm only in one thing. I usually do one thing a day. I already looked at the market. I'm telling you the market's sideways here today, but bullish. There's nothing else to see about the market. Am I gonna do anything else today? No, it's the only thing I did today. F is setting up again if somebody wants to do it, but I didn't make an official call on this even though I liked it this morning. Haley was the big winner with the move this morning with the risk to reward. And the other one was GE. That did have a move down and pretty much looks like it might be done here. So now I don't wanna do anything else. Why I'm engaged in this. I'm in this. I believe in this. Either works or it doesn't. Now at this point I missed the exit this morning. I didn't miss it. I saw it. I just chose not to get out. Some people did. But an hour into the day I wish I had. IBM does move. What do you mean it doesn't move? Of course it moves. This stock moved a dollar and a half from where we took it today up straight up. You could have made a buck and a half on this for the 50 cent stop or 60 cents, whatever you got filled. This stock moves. Right now it's not moving. It's not moving since 945. But I'm already in the trade. I'm not gonna jump around and look at other things now. There's nothing else to do. Why do I think I'm doing this? This was the best count today. It had the biggest move right out of the gate. I didn't get out with a profit. So I decided to wait for a bigger target. I hope that plays out in my favor. This is slowly moving its way up trying to lift. This is slowly trying to lift too. If you're here in a trial, I would watch and observe, but you gotta be here by 930 or you're not gonna understand what I'm doing when I make the call. And if you came late, you missed the call in the morning in this. Anyways, listen, I'll see you everybody tomorrow. I'll do any of this when I'm done today. I have no idea what time. Luckily I'm snowed in today, we're getting a blizzard. So I wasn't going out today anyways and I'm not on TV so we're getting a big snow storm. I'm here, I'm watching this. Manage it on your own. First target, side of the day. Stop's 167. We'll see what you does. All right, good luck everyone. You're welcome, we'll see you tomorrow.


Before we get into today's video, I want to remind you that we are on our road to 100,000 subscribers and if we can get there by the time Tears of the Kingdom comes out, we'll give away a collector's edition of Tears of the Kingdom, the pin set, the art book, oh boy this actually matters because the art book is part of today's video. Now what I want to warn you guys about going into this is this video does contain potential spoilers. Now it's a theory which is why we can have the title and the thumbnail the way it is but it is based around you know things that we've seen in the trailers but also things from the art book and you will see a few imagery things from the art book here so I'm just warning about spoilers for those wishing to avoid them. Now first off I want to note that this deep dive analysis was actually performed by a guy named placebo yes that's his username with two eyes over on the Tears of the Kingdom reddit and I am going to put a link to his full thread because he added some additional comments that you guys can sort through in the comment section down there and maybe ask him some questions specific to this stuff. So basically the running theory right now when it comes to Tears of the Kingdom is that there is some form of time travel and Link himself travels between two time periods, a current time period and an ancient time period and people believe that there's a lot of evidence to support this. Now one thing to note is obviously the differences in the way that link looks right we see him in just more traditional stuff then we see him in what looks like some sort of ancient Greek godlike attire right we've seen this in the trailers already this isn't new information but that doesn't really mean time travel because there's so many different costumes but what we do have in the art book is a look at a map that doesn't match perfectly with Hyrule today and actually looks a bit older a bit more ancient as it were. So first time we have this map comparison of Breath of the Wild Hyrule versus Ancient Hyrule and you'll see all the various circles lining things up except with water borders instead of a canyon border but still you're seeing this what looks like an older map of what Hyrule used to be like now he does note in his analysis here the ancient map is in the map room and it shows generally shallower topography in every region it's also somewhat stylized rather than a perfect representation like the Breath of the Wild map even so there are many differences 10 000 years may it not have been enough time passage to explain these changes so that's just obviously a running theory and you're seeing that right here but when we move on to the next analysis he does this is where we get into some some stuff here again I warned you there's spoilers it talks about ancient people in their tech and these people potentially being a time period we visit a long time ago so there's like the zonai armor set possible confirmation that the gauntlet is zonai tech again we don't know for sure obviously this is all theories and analysis this isn't necessarily anything mystery of the Ra Roo race aka the zonai so this character that you're seeing in the middle has a name in the art book as Ra Roo and you guys will be able to make the connections all you want for that but for this analysis it goes into the mystery of Ra Roo says Ra Roo was a sage in Akrino time the old man with the mustache or the owl statues and carvings depict other members of this race besides Ra Roo and clearly part of the ancient time tells in the clothing and shared presence on the stone mural with the other ancient woman basket now that's not the name of the actual woman it's describing the basket she holds but we'll get into that a little bit later now says right hand only has a bracelet with the jewel stuff and we notice that if you look at the image in the middle that's exactly sort of like what Link's arm looks like so there is a connection there of some sort now the ancient era clothing and style includes cultural markings and triangle decorations belt straps and necklaces shared design languages big thing to notice though is the ear length all of the ancient people seem to have much longer ear lengths so that that's what's going on here now the mystery of the hand on Ganon's chest only link in Ra Roo seem to be wearing the gauntlet the hand on Ganon's chest has metal parts jutting out Link's gauntlet does this too Ra Roo's doesn't however the hand is much larger than a human hand conclusion the hand is a character we have not seen yet or else this Ra Roo art concept and it's missing some gauntlet details so it's either Ra Roo's hand or it's a character we just haven't seen yet all right so moving on to the next batch of images here we see architecture from the ancient past so again we're looking at this art stuff and everything just kind of looks like things from a long time ago so we seem to have ancient Hylian stuff going on with lots of square shapes and writing patterns and then ancient Zonai as well and you can see a lot of Aztec and animal themes in these designs mini diagonal shapes etc again this looks like from a bygone era all right next up we have the time powers of the golden gauntlet again these are analysis not necessarily facts but freeze Ganondorf for a thousand years uh you can see possibly reversing time in one of the trailers with the teardrop and link going up uh stopping reversing time on the spike wall reversing time on a fallen piece of land there's other time manipulation references as the images notes such as the appearance of sky islands with ancient tech all over them trailer music played in reverse local spins counterclockwise longhorn bokeh blends from stone carvings appearing in post breath of the wild high rule and uh you know a plateau or whatever shown intact in trailers all right next up we have this sort of timeline now this is a theory of course this is a a really popular theory happening amongst all the fans right now on a possible timeline trying to connect everything together that's happened between breath of the wild tears of the kingdom and in the past so none of this is factual i don't want to dive too deep into this timeline because there's a lot there again go check out the reddit thread if you want more speculation on this stuff but it just basically goes into the ancient zonai and ganondorf and then part of tears of the kingdom happens and then before it happens before the first calamity uh and then breath of the wild happens in between and then there's the part of tears of the kingdom that happens after that the breath of the wild event so that's the basic explanation there's a lot of other fine details in there if you want to dive further again go check out the reddit thread it's it's really interesting so last part i wanted to feature though was the logo analysis so this again is by this reddit user and it says there's two dragons not one is traditional in the auroboros because a lot of people have been doing the whole auroboros thing the dragons eating each other except that's only one dragon usually not two there's other symbolism for two dragons in a circle in other cultures as well but this obviously is a non-traditional representation and they don't appear when the logos uh you know appearing and and doing this little thing during the trailers uh that they are actually eating each other uh maybe they're working together and they are circling counterclockwise and not clockwise like in most depictions uh the sword is in two forms as well a corrupted metal and complete in art form the art matches the ancient style showing that the sword will be repaired with ancient tech possible in the ancient time maybe we'll see or just shows that in ancient times the the sword was actually complete and now it's no longer complete there lots of speculation there is there one link or two the reason for two links uh post breath of the wild an ancient is there two zelda's two dragons in the logo dragon symbolize courage is personified by link gameplay takes place over two full maps separated by a long time it serves as a narrative reason for ancient link to start with no gear or extra hearts or is there a time traveler link they look the same other than the clothes and hair so the two different depictions of link do look very very similar other than hair and clothes you know what i mean like that's uh hey if you look exactly the same except for the style you're wearing probably the same link just one ganondorf healthy and thousand-year-old mummy logo could mean same link acting at two different times zelda's heritage or cream of time in a oracle of ages both have the same link time traveling wind waker had a brief time travel segment as well and obviously you know time travel has been a theme in zelda many times ancient link quote unquote has short ears whereas all of the ancient haidians have long ears which is something to point out because link today has short ears haidians today have shorter ears but ancient characters have long ears so it may be just more proof that link time traveled so that's sort of where the time travel theories are right now based on the art book and stuff there's some other time travel theories out there as well they go much deeper but maybe don't have as much supporting evidence so they just sound really cool i just wanted to throw this out there and see what you guys thought about this we don't do a lot of theories on this channel i'm not even pretending that this is mine full credit full credit going out to placebo over on the tears of the kingdom red thread get go check it out go talk to him go ask your questions and do your deeper analysis i just want to hear your thoughts if you think time travel is actually a mechanic in this game again it is something that nintendo has used in zelda's past now i want to thank you guys for tuning in this has been a great video i got a news video coming later today we got an update on f0 coming to nintendo switch that's really excited uh so we got we got that coming and a few other pieces of news out there for you so you guys are awesome and amazing remember to smile hug a loved one today let them know that you love them because we don't always do that enough and i'll catch you in that next video


Hello, my name is Zhang Zhendong. I'm a PhD student of Professor Liu Peng from Zhejiang University. Today, I'm glad to share our work about a hybrid CPFJ-based solution to the password recovery of SHA-256 CRIPT. SHA-256 CRIPT is a widely used key derivation function adopted by many Linux distributions. The key function of SHA-256 CRIPT is to prevent the clear-text password from being easily got by malicious attackers. To this end, the clear-text password is processed by the KDF and stored as a password hash. By comparing the password hashes, the system will know whether the user's password is cracked. Meanwhile, as SHA-256 CRIPT is a one-way function, attackers cannot directly get the clear-text passwords even if they got the password hash. This feature makes brute-force attack the only way to recover the password from the password hash. So how does the brute-force attack work? This is a diagram of the brute-force attack. The original password P is encrypted by the KDF generator password hash H. The attacker applies KDF to all passwords in the searching space, then he matches every generated hash with the password hash H. If HX matches H, then the original password is found to be PX. The time consumption of brute-force attack depends on two factors. The first is the KDF execution time, which won't be verified since KDFs are usually designed to be time-consuming. The second is the size of the searching space, which is usually huge in most scenarios. For example, if we want to achieve a recovery probability of 80%, about 1 billion passwords tests are needed. Therefore, attackers have to pay enormous time and energy cost, and it is the same for the user who want to retrieve their forgotten passwords. That's why we need a fast and energy efficient accelerator. However, shuttle craped has some features that makes it difficult to be cracked on special purpose hardware. First, it has random execution passes for different passwords. For example, password 1, 2 and 3 may have a different and unpredictable number of message blocks. With such features, shuttle craped is hard to be accelerated with the pipeline technique. Second, it has a complex data access pattern, which makes it hard to design a high bandwidth data path from the RAM to the compute unit. As a result, current solutions are limited to the low bandwidth scheme, typically 32 bits, like GPU or shuttle craped accelerator in John the Raper, which means at least 16 cycles are needed to generate a 512 base message block. In this paper, we analyzed the structure of shuttle craped and demonstrate the difficulties of accelerating shuttle craped with special purpose hardware, which includes the data dependency that stores the pipeline, the random execution pass and the complex data access pattern. We also found that there is a structural weakness lying in the shuttle craped, which makes it possible to remove the randomness. Based on the difficulties and the weakness we found, we proposed a fast and energy efficient shuttle craped accelerator with several techniques, such as group schedule, look ahead execution and data pass prune and multiplexing. Compared with the state of the art works, our accelerator achieves significant improvements on performance and energy efficiency. To find out what is so special in shuttle craped, we should first take a deep look into the details of shuttle craped. A shuttle craped is specified as follows. It takes a password string, a random sort string and an iteration counter n as input and outputs the password hash h. Inside the shuttle craped function, we first need to generate 4 messages and calculate their shuttle digest. For the sake of illustration, we assume that the password is 6 bytes and the sort is 8 bytes. The message A is generated by appending the password, sort and password. The number marked on the top of each segment represents the size of that segment. Then we calculate the shuttle digest of the message A and get a digest A. Message B is generated by appending a password, sort and the first 6 bytes of digest A. Then we convert the length of the password into a spanner format. From the least significant bit, if it is 0, we append a password string. If it is 1, we append a digest A string. Then we calculate the digest and get digest B. Message P is generated by appending the password string 6 times. Then we calculate the digest P and split the first 6 bytes of digest P to get a temp P. Message S is generated by appending the password string 16 plus db0 times, where the db0 is the value of the first byte in digest B. Then we calculate the digest S and split the first 8 bytes of digest S to get a temp S. The next step is to iteratively generate the message C and calculate the digest C. First, the digest C is initialized with digest B, then the digest C, temp P, temp S, and iteration counter i are processed by the cryptpad function to generate a message C. Next, we calculate the digest of the message C and update the digest C. After each round, the iteration counter i is increased by 1. If i equals n, the iteration is finished. The last step is the generated password hash. This is an example of shell2crept hash passwords. There are four segments. Adjacent segments are separated with a $ character. The first segment is the id for shell2crept is 5. The second segment is the total number of iterations. The default value is 5,000. The third part is the sort string and the last part is the base 64 encoded digest C. This step can be easily reversed. It will not be implemented in the accelerator. To accelerate the brute force attack on shell2crept, it's important that the accelerator has high parallelism because brute force attack is easy to be parallelized. Typically, there are two kinds of design to improve the parallelism. One is to build the accelerator with many relatively simple processing calls. For example, the GPU and the IPG-based shell2crept accelerator in JTR. In such design, each call has its own control logic which makes it easy to schedule, but it will cost more hardware resources. Another kind of design is to build the accelerator with deep pipeline. By using a deep pipeline, the schedule of different passwords is unified. As a result, it needs less control logic than the multi-course design and thus more efficient. This kind of design has been adopted by many researchers and achieves good performance and energy efficiency. For example, the WP2 accelerator presented in CES 2016 and the AR5 accelerator presented in TC 2019. However, the pipeline has its limitations. Almost all pipeline-based accelerators are targeting PBKDF-based algorithm which has regular data access pattern and unified execution paths for different passwords. These features make it easy to schedule the pipeline. However, for some KDE apps like shell2crept, the complex data access pattern and the random execution paths make the schedule of the pipeline very difficult. To further understand why, let's build shell2crept in another perspective. As we can see, the operations in shell2crept can be classified into two categories. First, we generate a message by some rules. Second, we calculate the shell2 digest of the message. We also want to review the structure of the shell2 function, which is shown here. The input message is first padded with one followed by several zeros and a 64-bed message length. Then the padded message is divided into several 64-bed blocks. Each block is processed by the block-transment function and generate a temporary digest which is used as the state of the next block-transment function. If we combine the details of shell2 function and the details of shell2crept function, the operations in shell2crept can be further classified into the following categories. First, we generate a 64-bed block. Second, we calculate the digest of the block with the block-transment function. By this way, the execution process of shell2crept is abstracted as the generation and transformation of a series of message blocks as we shown here. So now we can figure out why it is difficult to accelerate the shell2crept with pipeline. The first is the data dependency between the adjacent message blocks. The generation of a block depends on the digest of its previous block. If we have a 64-stage pipeline, the pipeline has to be stored for 64 cycles before the computing of the digest finish, which extremely slows down the accelerator. Another problem is the random execution path. As we mentioned before, the number of blocks is decided by the length of the message. However, there are too many factors that affect the length of the message. For example, the length of the password, the length of the sort, even the random number db0. If the passwords have different number of blocks to be processed, the schedule of the pipeline would be very difficult. The last one is the complex data access pattern. The generation of the block is similar to select 64-beds from the data buffer. However, there are no simple rules for hardware to know which bed in the input sources should be placed in which bed in the message block. If we want to generate the block in one cycle, a total of 64, 281 multiplexers are needed, which will introduce great overhead to the hardware resources and increase the critical path latency. Now we come to the part of how to solve these problems. By classifying the operations in Shadow Crypt as generating and transforming blocks, we found that this process is like a factory where there are two walkers and a warehouse. The first worker is responsible to select 64 raw materials from the warehouse and the second worker transforms the raw materials into products. Then the products are put back to the warehouse as the new raw materials. This factory inspired the design of our accelerator. The core of our accelerator is mainly composed of three parts, the data buffer, the data dispatch unit, and the block transform unit. The data buffer is like the warehouse. It stores all variables in Shadow Crypt. The data dispatch unit is like the worker one. It generates a 64-bed block each cycle. The pipeline block transform unit is like the worker two. It transforms the block and outputs the digest. Then the digest is stored in the data buffer as the new input sources. With this basic architecture, we will apply several techniques to solve the difficulties mentioned above. To solve the data dependency problem, we use the group schedule technique. Noticing that there are no data dependency between the blocks in different passwords, we can process a group of passwords together. Assuming that we have a three-stage pipeline, to avoid the pipeline store, we can group three passwords and feed the pipeline in the following order. In our implementation, we choose a 64-stage pipeline. Before we apply the group schedule, the pipeline is stored due to the data dependency, so it will only process one block in 64 cycles, which is only 2% utilization rate of the pipeline. And if we group 2048 passwords together, the pipeline could process 2048 blocks in 2112 cycles. The utilization rate of the pipeline would be close to 97%. Look-ahead execution technique is proposed to solve the random execution path. As we mentioned above, Shuttle Crypt has a random execution path because for different passwords, the number of blocks to be processed is different and random. The inconsistent of the number of blocks comes from two aspects. For message A, B, C, and P, the inconsistent comes from the variation of the length of the password. So it can be easily removed if we sort the passwords and group the password by length. For message S, the inconsistent comes from the randomness of DB0. To remove this kind of inconsistent, we propose the look-ahead execution, which is based on the following observations. First, there's only one sort when cracking one password hash. Second, there are only 256 possible values of DB0, which means we can calculate all 256 possible values of digest as in advance. The hardware implementation of look-ahead execution is very simple. We first calculate all possible values of digest as on the CPU and store them in the LE buffer. Once the calculation of digest B is finished, the DB0 is used as the address to access the LE buffer. Then the corresponding value of digest as is read out and stored in the digest as buffer. By using the look-ahead execution technique, the calculation of digest as is skipped on the hardware, thus the randomness of the execution path is removed. To solve the problem caused by the complex data access pattern, we provide an efficient design of the data dispatch unit. Let's consider an intuitive design where each byte in the message block is connected to all bytes in input sources by a 218 to 1 multiplexer. And each multiplexer is controlled by a control signal from the finite state machine. At each cycle, the state machine gives a group of control signals, then 64 bytes are selected from the input sources and compose a block. Considering we need 8 bits for each control signal and there are 815 states if we want to support the passwords from 6 bytes to 16 bytes, a total of 52 kilobytes memory are needed for the finite state machine. We also noticed that there are about 14,000 connections, which cost about 50% LUTs on our experimental platform.  As a result, we propose the data pass pruning and spatial temporal multiplexing technique. The data pass pruning technique is based on the following observations. First, some variables could use the same buffer, for example the digest B and digest C, because they will not be accessed at the same time. So we reuse the buffer for multiple variables and reduce the bytes in the input sources. Second, a byte in the block doesn't have to connect with all bytes in the input sources, which means the scale of the multiplexer could be reduced, so we customize the size of each multiplexer so that only the possible candidates are connected to the multiplexer. The data pass hot map showed the number of connections for each multiplexer before and after applying the data pass pruning technique. The total number of connections is reduced from 14,000 to 3,000. We also found that when we fix the password length to 6 bytes, the total number of connections in the data pass will be reduced to about 400. This fact drives us to explore the temporal locality of the data pass and propose the spatial temporal multiplexing technique. This technique is based on the configurability of the IPJ. For passwords from 6 to 16 bytes, we prune the data pass and generate a bit stream file for each password length. Every time the length of password changes, the IPJ is reconfigured with corresponding bit stream. With this technique, the whole data pass is separated and distributed into different bit streams, and the overhead of data pass is reduced on each bit stream. Here we show the complete design of the core in our accelerator, which combines the technique we proposed above. Our experimental platform is based on the Zinc ZC703 SoC. On each node of the system, there is an ARM Cortex A9 CPU and a 7-series FPGA and an SD card. The CPU is responsible for top-level schedule and the calculation of the digest S. Based on the available hardware resources, we placed two shuttle-clipped accelerating cores on the IPJ, and each of them works at 220 MHz. The SD card is used to store the bit stream files. First, we compare our work with the IPJ-based non-pipeline implementation, the shuttle-clipped accelerator in General Rapper. For fair compression, we reproduced the shuttle-clipped accelerator in JTR on our platform. Our accelerator achieves 1.74 times block throughput and 1.64 times energy efficiency. The RUTs used as computing logics in JTR accounts for about 66%, while our work has a proportion of 88%. Which means more hardware resources in our design are used for computing other than block generation or control logic. The resource efficiency of our accelerator is 1.69 times better than JTR. We also compared our work with HashCats running on an NVIDIA GTX 1080Ti GPU. The result has shown that our accelerator achieves 2.54 times improvement on energy efficiency than GTX 1080Ti. Although the block throughput of a single node is only 0.15 times of GTX 1080Ti, when we test our design on the 16 node cluster, we achieve a 2.41 times block throughput and still have 2.54 times energy efficiency. To validate the adaptability of the tasks proposed in this paper, we also implement SHA-5 trial grid on the same platform and compare it with the GTX 1080Ti. Our work also shows a significant improvement on performance and energy efficiency. Finally, let's draw the conclusion. In this paper, we proposed a hybrid CPU FPGA-based SHA-2CRAP accelerator. It adapts the pipeline to improve the parallelism. Group schedule is used to remove the data dependency that starts the pipeline. Lookahead execution is used to eliminate the non-unified execution paths. Datapath pruning and spatial temporal multiplexing are applied to reduce the result overhead. And we also found a structure weakness lying in the SHA-2CRAP algorithm where the calculation of digest as can be finished in advance, then it can be reused for all passwords. Attackers may leverage this weakness to build more efficient cracking hardware. That's all. Thanks for listening.


I was in a very severe car accident, head on with the truck and I used over 36 litres of blood in the first nine hours. At the moment we're sitting at the highest road toll that we've had for 14 years, so there is a demand for blood to help save lives. It saves lives just like it saved mine.


Graham Steffen is a real estate agent by day and a YouTuber by night, or is it YouTuber by day and real estate agent by night? To be honest, it's pretty hard to keep track with this guy who not only does both of those things but a whole lot more to boot. And as you might expect from someone in the real estate industry, he's living in some pretty beautiful homes himself, which we're going to take a look at in this video. It's not a before they are famous, this is just the house doors. Because that's what Kara does on this channel, I do something else. In these videos we don't reveal any addresses and even though I've done a house tour of my own place, please do not show up at any private residences because it's not safe for anyone. Although people do be showing up at my house, just to be honest, leave her alone. Raised in Santa Monica, California, well Graham obtained a real estate license shortly after turning 18 and he dove head first into the world of mortgages and leases in 2008, working for the Oberheim Group as a sales associate. I probably put you that name, I didn't work there, sorry. Outside of real estate, Graham has become one of the most popular personal finance based vloggers on YouTube, making over 80k a month from his videos versus the nearly 9k a month he makes in real estate commissions. But with a man as diversified as Graham, well that's still just the tip of the iceberg in terms of how he makes his money. Now with another huge contribution factor are the six rental properties located around the city of Los Angeles that he's owned over the years and these earn him around $15,000 a month. Damn. One of these six properties is a duplex Graham owns in mid-city Los Angeles that he moved to into June of 2017. It's like he's got his own Melrose place going on. I think so. We'll move in. If you want us to come visit, we're down. We can pay some rent. And he recently bought a home in Las Vegas that he plans on moving into sometime early next year. Yeah, everyone's getting the hell out of Dodge, and by Dodge I mean LA, I don't know. I like Vegas better. We're Vegas folk. How's it going guys and girls? It's Kara here for you with a brand new house tour. And I'm Michael McCrudden and I'm her boyfriend. That's right. You might know me from another YouTube channel before they are famous, but Kara's been killing it here on Famous Entertainment doing all these house tours. So big congrats to her. If you want to see the full in-depth bio on Graham Stephan, go over to my channel. But be sure to subscribe to this one. 95% of you guys are not subscribed. And the girl's pulling in some serious views. Anyway, I'm going to leave, but Kara, take it away and give her a like because this girl's doing a fantastic job.  In this video, we'll take a look at a handful of properties owned by financial guru Graham Stephan. Now Graham only lives in a couple of these properties himself, but he's documented these homes as well as a few of the rentals he's leased out over the years on his channel. And today, I'm going to give you an inside look. Follow me on Instagram to chat and as usual, let me know who's house tour is next in those comments down below. Alright, let's get into it. Mr. Graham got his start in the real estate industry he lived with his dad to save money. Around that time, he was only making about $500 to $600 every few weeks in commission as a junior agent. Like this, he was still working 12-hour days, six or seven days a week. So living at home with Pops meant that Graham was saving up all that hard earned dough with a definite plan in mind. Over the course of about five years, Graham saved up enough money to buy four different properties, spending a grand total of just over $500k in purchase price and renovations before renting those properties for total profit margin of just under $1.5 million. Then Graham bought a fifth home to remodel and flip in late 2017 in the area of Jefferson Park. He bought the home for around $600k and put in a further $125k to update and remodel it. Graham also took us inside this empty bungalow to give us a taste of what it looked like. Well let's just call it pre-off. Being the resourceful guy that he is, Graham turned this home into two separate apartments living in one half and renting out the other. Alright, we've seen what it looked like before Graham moved in. Now let's get a taste of what it looked like after. In that clip, you can see the tiny but fashionable living room with its center and piece fireplace, white walls and hardwood floors. Graham might be notoriously frugal but he doesn't seem to spare any expense when it comes to decor with some tasteful and rustic finishing touches. In this clip, you can see Graham's kitchen behind him. It's got a breakfast bar around the perimeter with a marble countertop and features dark wood cabinetry and stainless steel appliances. But no room in this home got more screen time than Graham's garage office space where he's filmed the bulk of his content over the years. It's a perfect space for filming. It's in dark with well positioned lighting and then there's the decor. Between the posters in the background and the gigantic raptor head sitting next to him on the desk, this room practically screams money. Even with 5 properties now under his belt, Graham was far from finished. He even bought another place in October 2018. But now, let's take a look at a home Graham just bought for himself only about 6 months ago. This new home is located on the same street that Graham grew up on as a kid so when you saw the opportunity to buy into the neighborhood he jumped on it. The property is a duplex with the main house having 3 bedrooms and 2 bathrooms, while the second house has one bedroom and one bathroom with its own private entrance and yard. I don't know about you guys but I'm definitely getting an Alice in Wonderland vibe from that tiny table that looks perfect for enjoying a cup of tea in the morning surrounded by greenery. When you pass through the front door, you're immediately standing in the living room. Next to there is the dining room where Graham likes to get a lot of his editing done sitting at this massive wooden table. As he works he can glance out the nearby window that offers a peaceful and serene view. Now Graham's kitchen might seem a little outdated with his aqua blue cabinetry and its towel flooring, but you and I both know he'll do something about that at some point in the future. He's also refashioned one of the bedrooms into his new YouTube studio and guys prepare yourself for some deja vu. Bull of choice but I can understand it. There's always comfort and familiarity, not to mention grand recognition. In terms of his master suite, Graham has a tastefully decorated bedroom with hardwood floors and an absolutely gigantic fireplace framed on either end by two massive closets. And the en suite bathroom is also something that needs to be seen to be believed.  Meanwhile, I'll back as a fully private backyard with a jacuzzi and small space for gardening. There's also a space for entertaining to enjoy that wonderful Los Angeles weather including an outdoor fireplace because apparently this home doesn't have enough of those inside. Alright before we check out we're going to take a quick look at Graham's newest mega property, a home he bought in Las Vegas, Nevada. The purchase price of this home was over 1.4 million dollars which means that Graham must have broken the bank for the first time in his life right? Hold that thought. Due in large part to topics like tax brackets and where he currently lives, Graham has decided to move to Vegas because even though the home will cost him more than any of his others at the offset. He's going to save a whole heap ton when it comes to taxes. If we approach this from a purely tax standpoint, Las Vegas doesn't have any state income tax. That means on 3.2 million dollars worth of earnings, I would effectively get to keep an extra 400 thousand dollars a year by living here. Eventually owning this home will be basically making money for Graham. Now there's a lot more to it than that but if you want to know all about Graham's secrets then I'd suggest you head to his channel and check out his full video. In the meantime, let's get to what you guys really want to see, what the house looks like. As you can probably tell from that clip, Graham's Las Vegas home is still a work in progress. He plans on living in his Los Angeles home that he bought only a few months ago until the construction of his new home is finished. The total size of the place is just over 3,800 square feet with three bedrooms and three and a half bathrooms and most importantly a whole bunch of extra space. Through the front door of the home is a massive open concept living space that features cement-like tile floors and 20-foot tall ceilings. This massive living space is also where the kitchen is located with the large waterfall island and gray cabinet. The master bedroom features an entire wall that has been turned into floor to ceiling windows to offer restorative views as you try to encourage yourself to get out of bed in the morning. And because nobody likes to travel too far for work these days, Graham is transforming one of the extra bedrooms into his podcast recording space. A little bit further down the hall from there is the new massive studio space he's going to use for filming YouTube videos. I know what you're all wondering, is it going to look the same? Yes, yes it is. I'm going to have the same desk, the same chair, the same posters behind it, the same lamp, the same dinosaur skull. Hey when something's working, don't fix it. Alright guys, since Graham still hasn't got that house exactly how he wants it, we're going to come to a stop there. Once he gets that place all decked out and up and running, expect us to take another look at it and let you know how far he's come. In the meantime, let me know what you thought about Graham Steffen's house tour in the comments down below. Which house seemed to be the nicest? There's no doubt that Las Vegas home is going to be killer, but the other house he owns on the street he grew up in really impressed me. Besides the hideous kitchen, it's got everything you need, you know, except for a friendly tax bracket. Ah well, we can't win them all. Don't forget to follow me on Instagram because I love hearing from you guys. I'll see you all in the next video. Bye!


Take two, let's go. Welcome to Code Corner with Katie. Let's see what's on thinking man's mind today. Where can I use a manual sliding door? Ooh, I like this one. Let's take a look. I will be basing my answer using references from IBC 2015. Other editions are similar. Always make sure to consult your state and local codes as well. The IBC requires egress doors to be of the side hinged or pivoted swinging type doors. They can swing in for low occupant load spaces like conference rooms or safe room, office, individual offices and things like that. They are required to swing out of the rumor space in the direction of egress when the rumor area has 50 or more people regardless of the type of occupancy and in high hazard group H, they need to swing in the direction of egress or out of the room regardless of occupant load. But remember, the IBC is an exceptional code and there are some exceptions that do allow us to use manual sliding doors. Exception number one, in private garages, office areas, factory and storage areas with an occupant load of 10 or less, they allow for not only manual sliding doors but other types of non-swinging doors like an overhead door, for example. Exception number two tells us that in I3 occupancies, which are detention and correctional facilities, you could use a sliding door or other type of door, but nobody wants to see the inside of this type of door. Exception number three, in critical or intensive care patient rooms within suites of healthcare facilities, these type of manual sliding doors are usually equipped with a breakout panel so staff can evacuate the patient while they're in their bed and the doors can include smoke seal as required. Exception number four, doors within or serving a single dwelling unit in groups R2 and R3. R2 and R3 are residential occupancies and include apartment houses, dormitories and vacation time share properties, just to name a few. R3 have a lower occupant load of five or fewer people and include residential, board and care facilities. Pocket doors, bypass doors and other manual sliding doors are approved for use in these areas. Exception number eight, door serving a bathroom within an individual sleeping unit in group R1. Group R1 occupancies include hotels, motels and boarding houses for example. And exception number nine, in other than group H high hazard occupancies, manual operated horizontal sliding doors are permitted in a means of egress from spaces with an occupant load of 10 or less. This was added to the IBC in the 2009 edition and has been included ever since. And basically any occupancy type other than group H high hazard when you have an occupant load of 10 or less you can use a manual sliding door as your means of egress from that space. For more information and continuing education opportunities, please visit us Obloy Academy by clicking on the link in the comments below. Please click like and subscribe to this channel. Follow me on Twitter at artconsultant and or connect with me on LinkedIn for updates. And if you have a code question that you would like to see featured in this segment or just a code question in general, you can email me at kathryn.flower at ossobloy.com. Thanks for joining me in the code corner today. My name is Katie Flower and my goal is to help you achieve safe purity in the built environment.